《程序员修炼之道:从小工到专家》读后感5

编码不是机械工作。如果要让所得的程序享有长久的、无误和富有生产力的“一生”,就必须对这些决策进行仔细的思考。不主动思考他们的代码的开发者是在靠巧合编程——代码也许能正常工作,但却没有特别的理由说明他们为何能工作。有时候尽管我们的代码能够快速运行,我们偶尔也会开发一些算法,可能会让最快的处理器陷入困境。我们要学会一些估算代码的速度的方法,发现这些潜在问题。大多数并非微不足道的算法都要处理某种可变的输入。通常,这些输入的规模会影响算法:输入越多,运行时间就越长,或者使用的内存就越多。

Don’t Use Wizard Code You Don,t Understand.不要使用你不理解的向导代码。向导生成的代码变成了Joe的应用的完整组成部分。向导代码并没有被分解出来,放在整洁的接口后面——它一行一行地与Joe编写的功能交织在一起。最后,它不再是向导的代码,而变成Joe的代码。没有人应该制作他们不完全理解的代码。

完美,不是在没有什么需要时增加,而是在没有什么需要去掉时达到的。需求很少存在于表面上,通常,他们深深的埋藏在层层假定、误解和政治手段的下面。需求是对需要完成的某件事的陈述。

编写程序规范就是把需求归约到程序员能够接管的程度的过程。这是一个交流活动,旨在解释并澄清系统的需求,比如消除主要的歧义。除了与最初实现的开发者交谈以外,规范还是留给未来进行代码维护和增强的几批程序员的记录。规范也是与用户的约定——是对他们的需求的汇编,也是一份隐藏的合约:最终系统将会符合该合约的要求。

posted @ 2019-11-30 20:47  vvxvv  阅读(125)  评论(0编辑  收藏  举报