《程序员修炼之道--从小工道专家》阅读随笔
足够好的软件
完美的软件?
软件开发人员可能深有体会:永远不可能制作出完美无暇的软件。因为时间、技术、急躁等原因会不定时光顾。
让用户参与进来
软件通常是为别人而写,即使是自己的作品,那么大部分情况下也是为了别人使用而制作,因此用户的想法至关重要。用户更希望有一个今天就可以使用的“足够好”的软件,而不是一个一年以后的“完美”软件。在今天这个“足够好”软件的基础上,用户会提一些有意义的建议,在不断开发迭代过程中将软件开发引向最终好的解决方案。
开发过程中的权衡
就拿在公司做项目举例来说,在产品最终交付用户之前,可能用户已经基于此做了一些重要的安排,你的公司也为此付出了相应的人力、时间和金钱成本。因此开发人员需要权衡利弊,如果不停完善润饰代码、增加新特性,那么势必会影响工期,最终为了最后期限而不得不削减基本基本功能,这很明显并不是用户所希望的。实际上是质量也是需求问题。
何时止步
不要因为过度修饰和精益求精而损毁了完好的软件,让你的代码凭借质量多保持一会,它可能不完美,但不必担心,因为它不可能完美。