程序员修炼之道+从小工到专家阅读笔记02

观看了《程序员修炼之道+从小工到专家》的第二章内容

“重复的危害”中透露了程序员在编程时应该注意的一大要点,也是为了项目完成后为做维护工作的必须准备。其中,DRY原则即系统的每一项知识都必须具有单一、无歧义、权威的表示。这个原则给初学的程序员以指导,时刻记住将无歧义遍及整个程序。导致重复的出现原因,在作者看来均是可以避免的,而不可避免的重复也可进行适当的改动,以达到使程序清晰的目的。当然,注释是使程序看上去清晰的的手段,并且随着维护的进行,需要不断更新注释的内容。有些时候,重复可能是无意的,你需要仔细且认真的思考程序中哪一些代码可以删减或是更便于表达,即使你需要预先花费一些时间,但与之后花时间来重新优化程序来比是利大于弊的,留有好的耐性很重要。在这一节的后面,作者谈到你不可避免的违反DRY原则,这时候你需要局部化程序,保证程序行为良好即可。由于一个项目的开发通常是一个团队协作完成的,那么,你需要和其他人进行充分且到位的交流,以防止重复的野蛮出现,作者介绍了一种既可以让他们交流,又可以提高效率的方式,那就是论坛,开发成员互相讨论交流学习。

“正交性”中讲述了一种在程序中不相互依赖的思想,便于维护,使得程序的各部分功能执行足够清晰。作者讲述了非正交系统所带来的不便:工作负担大,难以维护。也讲述了正交系统的好处:提高生产率和降低风险。一个团队难免会处于非正交的环境,我们要根据项目本身,合理分配,来提高正交性。检测正交设计的必要性,分层现象,编写不依赖其他模块的代码,避免使用全局变量,避免编写相似的函数。在最后要记得测试。

“可撤消性”中告诉我们当遇到更好的解决问题的办法时,考虑可撤销性,除非必须付出极大的代价,你只能受制于一个无法撤销的动作进程,而恰恰就是由于知识更新换代的速度和人们想法变化的速度很快,才有了可撤销性的出现,一方面是为了便于维护,一方面是满足客户的需求,这些均是程序员可能会遇到的问题,那么懂得如何实行撤销是一个注重实效的程序员应该着重考虑的。另一方面,也在告诉我们并不存在最终决策,方法在不断的更新,程序员的思考不能停止。为了更好的执行可撤销性,程序员要搭建灵活的架构,让程序具有良好的可移植性,这都需要程序员的经验与编程基础的铺垫。所以今后作为一个程序员应为自己的程序找好后路,灵活跳动。

“曳光弹”中讲述了为了编写出客户需要的代码,需要不断的去寻找正确的代码,除非你可以和用户的想法完全一致。那么,你需要尝试不同的编程方向,以达到最接近的程序代码,使用曳光弹代码可以使用户能够及早的看到能工作的东西,开发者构建了一个能够在其中工作的结构,拥有一个集成平台,更能感觉到工作进展。

“领域语言”中讲述了语言本身会影响我们的思考问题的方式,所以要靠近问题领域进行编程。“估算”能力可以避免问题的产生,也能避免发生以外,要根据问题的规模,把握估算的准确度和详细程度,这时候不要盲目估算,寻找解决过类似问题的人询问再进行估算可以打打提高估算的精度。估算能力可以提高,但前提是对问题有很好的理解,以及对估算的问题有明确的估算方向。

我过去是没有分析用户的想法就写程序,结合书中,这样做的危害是可撤销性不强。解决问题的办法就是注重实效,注重实效的途径概括起来就是以上提到的这些要点,所以要朝着这些点上努力。

posted @ 2019-10-09 15:25  ziyuliu  阅读(111)  评论(0编辑  收藏  举报