关于过度设计一段讨论
LJ
"但是有时候过度考虑技术,考虑维护性扩展性,而不考虑商业问题,也是不行的
STST
其实我认为的迭代方法,早就摈弃了这种过度考虑
迭代方法论强调做好现在,让现在的状态良好,需要扩展的时候才去扩展,而不提前考虑
因为保证任何时刻的状态都很好,所以需要扩展的时候也不心虚,正常重构就行
LJ
是的,不过很多程序员都有完美强迫症的
STST
从我个人的经历体验来说的话,这种追求"完美强迫"的欲望,来源于对过程方法的理解不足
我以前也是,后来随着理解的加深,已经有天然的免疫力去抵制那种冲动了
追求"完美强迫",感觉是非常良好的,也是很有吸引力的,我个人认为也正是因为理解还不足导致的欲望
对这种情况,我看过一本书上有一个玩笑,笑尿了
WHL
赞一个
STST
作者说:对于这种欲望的程序员来说,我曾经开发过具有1000多个方法的列表类,还在一直增长中,这个列表涵盖了各种需求,我想这个列表类应该深受你的欢迎
WHL
就好像有增加(add)就一定要有减少(remove)一样
STST
是的,不管remove是否会用上
这个例子太形象了,也确实属于典型的"强迫症"
我调那种刻度尺,比如音量,就一定要调到5的倍数,否则就很不舒服,这种情况和前面这种情况一样,都是属于"强迫症"
BZ
还有一种完美,你是抵挡不了的,就是设计的完美
STST
前面那种"强迫症"我已经能克服,后面这一种还无法克服
STST
符合当前需求的设计,简单直白的设计就是"完美",考虑明天的问题了,一定会有累赘,当然也不会完美,保证当前状态"敏捷"就是完美
浮沙之上勿筑高台