在《梦断代码》的第二章中,作者举了一系列软件开发史上的灾难事件:FBI投资4亿美元,花费10年时间进行的Trilogy项目,最终得到的却是一个缺陷缠身的原型版本;IRS(美国国内税务局)花费了十年劳力和20亿美金的系统升级项目以失败告终;麦当劳耗资1亿7千万美金的Innovata项目也以失败告终......抛开具体的细节不谈,他们失败的模式都是一致的:标靶移来移去,目的忽上忽下,计划不切实际,期限一拖再拖,预算膨胀超支。
为什么如此多的项目中会出现这些共同问题?其中一个原因就是“程序员都是乐天派”。他们会认为计划一定会按时完成,bug一定会及时改正,时间还很充足,定下的需求都能实现。拥有乐观的心态固然是一件好事,但往往在乐观的心态下,我们的思维转的没有有压力时那么快,同时也不够缜密,这就导致在coding时容易犯错误,使项目完成的期限一拖再拖。所以,作为一个合格的程序,我认为应该秉持“理智上悲观,意志上乐观”的工作态度。
第三章中提到“好程序员懂得些什么,而卓越的程序员知道改写什么”。我认为这句话说得很对,因为很多功能需求在一些其他项目中已经实现,我们没必要再去重新写一份类似的代码,只要会改写已有的代码就行了,能搭上顺风车也是一种本事。
本章节中还提到“编程时,读代码的时间要远远多于写代码的时间。你对待源代码的方式,和雕刻家对待黏土的方式一样。所以,一种语言如果让源代码显得丑陋,就会叫苛刻的程序员发疯,仿佛雕塑家遇上了满是硬块的黏土一般。”这个比喻非常恰当,俗话说“人靠衣装,佛靠金装”,代码也是这个道理,如果你的代码显得混乱不堪,让阅读的人摸不着头脑,即使能实现所需要的功能,那这也是一段失败的代码。因为,当今代码的“可读性”是处在非常重要的地位的。
原文地址:https://www.cnblogs.com/ustc-anmin/p/9683103.html