软件开发技术:YAGNI

YAGNI 是 you aren't gonna need it 的首字母缩写,你可能不需要这个(功能/设计/实现)。
在设计或者实现一个系统时,程序员可能意识到将来有可能需要一些新功能,从而在目前的设计或实现中预留下接口,甚至写出额外的代码。虽然出于好意,但是结局不会太好。目前(隐约地)觉得可能需要的,随着对用户需求和系统行为理解的深化,最终不需要或者以某种其它方式需要;目前所预留的会用不上。这就是程序员版本的画蛇添足故事。盲目追求完美的程序员经常有这个倾向。
克服的方法就是专注当前功能,提供最小方案和实现。至于将来的扩展需要,待其明晰后,再迭代考虑。当然,当前最小设计也要遵循其它原则,比如著名的SOLID 系列,对当前设计进行扩展,也就相当自然了。

你可能感兴趣的:(智能设备)