程序员的修炼之道阅读笔记02

  欲求更好,常把好事变糟。

           ——李尔王

  我今天读的是第四章-足够好的软件,其中举了一则笑话的例子,说一家美国公司向一家日本公司订购100000片集成电路,规格说明中有次品率:10000片中只能有一片。几周后订货到了,一个大盒子里面有数千片IC,里面有个小盒子只装有10片IC,贴着“这些是次品”的标签。这个笑话主要告诉我们,现实几乎不会让我们完美的控制事物的结果,或者说让开发者在投入前开发出完美的作品,特别不会有无错的软件,而软件的功能直接指向的是客户,只有满足客户的需求,才能算的上成功,在这点上开发者更应该给用户一定的机会,让用户决定所制作的东西如何才能算得上“足够好”,这是建议的但也是必须的。

  对于一切的定制产业来说,如别人委托你做一件工艺品,常常要取得委托人的需求,在这个时候制作者十分想要清楚委托人心中的合格,够好,完美的标准,但这些常常用语言无法叙述出来,而对程序员来说,客户不满意的后果只能是改代码改需求。如果是已经存在的工业方面,这方面需求很清楚可供选择的方向也很少相对容易,类比到委托木工做几把椅子,需求是:有靠背,能平稳立在地面上,木制。这相对而言更容易达到完美的标准,而对于一个全新的方面,开放式的选择则可能产生矛盾,类比到委托木工做一个关公的雕像,需求是:大气,稳重,有观赏性。对于这几方面不同的人有不同的看法,双方更难以达到统一。

  市场人员需要有相应的许诺,无视需求为软件增加诸多不必要的新特性,或是不断的润饰代码,不是有职业素养的表现。而现在的情形中,人们更偏向使用有毛边的不完美的软件而不是等到完美软件的交付。今天的实物比明天的大饼更可取,如果给用户某样东西,他们的反馈通常会更快更明确的将你指向最终的解决方案。

  对自己的经历来说我对这方面涉及并不多,只在以前因为兴趣学过一段时间的绘画。

  与书中的例子相同,在我画将近结束的时候,用自己的眼光来看,还可以,但自己在将他逐渐润色想将至完美的时候,自己的感觉却越来越糟。到最后的完全不满意。

 

原文地址:https://www.cnblogs.com/zlc364624/p/11033131.html