前言:本章的标题翻译为“画蛇添足”,原文的标题为“The Second-system Effect”,从单纯的英文标题知道,二次开发系统的影响。也就是说,软件设计师在做二次开发的时候,容易想的太多,在原来的程序上增加太多没用的功能,或者做了没有必要的修饰。
结构师的交互准则和机制
很多时候,结构师在估算一个产品的预算后,客户或者老板会做出他的评估,如果估算超出了老板或者客户的心理预期,那么此时结构师必须要削减成本或者建议更低的实现方式,就要遵循以下:
开发人员承担了实现责任,结构师不能太多干预开发人员。
准备接受其他任何能达到目标的方法。
准备放弃所作的改进建议。
总结以上三点,就是说,结构师只要告诉开发人员要缩减成本,但是不要去干涉,他们会做出最好的抉择,如果结构师如果过多要求开发人员修改方案时,就会造成意料不到的成本开销。
自律--开发第二个系统多带来的后果
第一个系统时,结构师倾向于精炼和简洁,但是到第二版系统时,就容易产生过多的润色和装饰。因为为了快速的完成第一个系统,结构师不得不抛弃自己过多的想法,但是第二系统的时候,就会很危险。
那么如何避免呢,就是要自律,给自己制定一个规则,避免过于修饰。
为每个小功能分配一个值,每次变更会作为决策的向导。
总之,在开发第二个系统时候,要结构师保持自律的精神。