程序员修炼之道第二、三章读后感
首先在第二章,我明白了很多关于作为要做一个注重实效的程序员的方法,最重要的是要避免重复,我明白了如果代码在维护过程中,如果有一些功能与以前相同,可以复用那些以前开发人员开发的那些健壮的代码,我明白了在以后编写代码时,要时刻明白重复的危害,不要在不同地方表达相同的事物,就是不要重复你自己。我懂得了重复发生的原理,有强加的重复、无意的重复、无耐性的重复、开发者之间的重复。然后我分别理解了这些概念,在有些数据属性中,有些数据属性是随其他属性而改动的,这就属于无意的重复。我明白了正交的概念和其重要性。我明白了应该将系统的每个组件之间的依懒性降低,让每个组件都能不依赖其他组件而工作,这样在系统开发和维护过程,才能提高效率、降低风险,还可以实现很好的代码复用。然后我学习实现正交性的方法,可以在系统设计上将系统分层,也可以降低编程工具与库的依赖,同时在编码方式上降低各个模块的依赖程度,减少使用全局变量。在测试时,尽量使用模块化测试。并且我们要认识到正交的作用和重要性。我还明白了当项目出现大的改动时,如果代码没有可修改或可撤销的余地,那代码是不好的,我们在用一门语言进行开发时,或者是在用第三方工具或数据库进行开发时,要明白可能系统不是以这种工具实现的,所以我学会了要将代码写成可以撤销的,这样当项目发生改变时,只需修改几个关键的代码模块即可,大大提高开发和维护的效率。再然后,我学会了用曳光弹和原型的方式,先进行项目开始的探索,一点一点修改简单的架构中的框架,最终达到实现项目基本架构和设计思路明确的目的,可以灵活的满足用户的需求和加强用户对项目的信心,同时也测试每个模块,也会让自己拥有了一个集成平台,有可能使用于以后的开发的项目中,同时你自己也会更有信心和目的性,也会更加了解自己的开发进程。但我也明白了,原型和曳光弹的不同。我也基本了解了什么时候使用原型开发和如何正确的使用原型等一系列问题。使用一些语言可以很好的构造原型。在后面我学到了要会用编辑器开发属于不同项目时方便自己使用的语言,可以用客户工作领域的专业名词进行语言基础,也可以实现客户工作领域的专业名词的报错。实现小型语言和嵌入式命令语言,明确独立语言和嵌入式语言。最后,我学习了估算的内容,让我明白了估算时,针对不同的问题,进行不同范围和不同案例的估算,也学会了项目估算,明白怎样进行项目估算,包括分解、指定参数、计算答案,要追踪估算能力和项目进程。
然后到第三章,我也学到了很多,我学到了很多陌生但以后可能要用到的一些协助编程的工具。我认识到了纯文本的作用,纯文本有很多好处,保证不过时,适用范围很广,而且更利于测试。然后我了解了Windows中的shell命令的重要性,可以根据程序员的需要,执行简单的操作,或者通过很多命令的叠加,完成一个复杂的功能。可以大大提高我们查询的速度和提高我们的工作效率。然后我又了解了熟练并熟悉一个编辑器的作用,编程器可扩展、可配置、可编程,可以减少我们重复操作的步骤。然后我明白了源码控制的概念,源码控制可以让以前的系统重新出现,还保存了我蒙的代码。还可以追踪代码,自动记录对源码的改动。我还学习了调试的时候要保持冷静,要检查自己的代码,不能把错误胡乱推给别人,我们可以让源码可视化、跟踪等方法去解决。要对写过的代码经过严谨的测试,要证明写过的代码没有问题。我还学习了文本操控的概念。可以灵活的根据数据的改变而进行改变、可以测试数据生成、书写不同语言之间的接口。我们还要编写能生成代码的代码生成器,转化编程语言、查找表、读取数据库并根据数据库的变化生成不同的代码。代码生成不一定会很复杂,代码生成器也不一定要用来生成代码。
总的来说,读完这两章,让我收获很大。
posted on 2019-10-11 09:22 yangliuliu 阅读(137) 评论(0) 编辑 收藏 举报