1.错误的根源
糟糕的手艺人常常责怪自己的工具。很多人一碰到问题,就把责任怪罪到程序或者语言的头上。出错的永远是程序员,即使是平台限制造成的问题,绝大多数情况都可以加入谨慎的防范措施来规避。
2.作坊和工厂
一般正规的软件公司都有严格的软件开发流程。传统作坊式的软件开发模式显然已经跟不上潮流。分工细化到一个基础模块甚至某几个函数的维护。在工作中需要的是各模块程序员之间的有效协作,单打独斗的冒险只会增添麻烦。比如,一组类似的软件共用perforce上同一主干由中国、欧洲、北美、拉丁美洲的程序员同步开发,显然会大大提高开发效率。
3.不可能精益求精
一个平台的复杂性往往远远超出预想的程度。因为平台的成型不是一日之功,十几二十年并仍进行中的进化让平台的有些地方看起来晦涩难懂。明明程序已经出错了,但找不到错误的根源,然后在适当的地方强行纠正过来。这样做的结果就是:代码中有错误的程序运行得非常正确。在被迫版本发布的时候,这大概是唯一可行的办法。