在这几周看了程序员修炼之道的第二章——注重实效的途径。感触很多。
在这章中开头就讲述了重复性带来的危害以及正交性,受限于我们自身学习的不够迅速而知识的发展又是如此的快,很多时候我们作为程序员,要进行收集,组织,维护和利用知识,我们在规范中记载知识,在运行的代码是之活跃起来,并将其用于提供测试过程中所需要的检查,然而知识变化是非常快的,正是由于这点时常导致我们的系统不稳定性这意味着我们需要将很大部分的时间花费在维护上。实际上维护是一件我们在编程时就要不断例行的一件事,正如计划赶不上变化,我们所做的每一步都会影响后面的步骤所以不断地检查维护,更新优化不仅仅是一项后续的任务他一直处在进行时。
正如书中所讲”系统中的每一项知识都必须具有单一无歧义权威的表示“,准确性是非常必要的,在程序中准确性代表了做任何选择或者决定都是唯一的确定的这很大程度上增加了我们程序乃至系统的稳定性,也就是强健性。“DRY原则”:”don't repeat yourself“。
重复的分类有以下几种:强加的重复、无意义的重复、无奈性的重复、开发者之间的重复。统览上述重复不难发现重复带来的问题:无意义的做功以及技术的后退。所以我们要做的是营造出一种环境,在其中找到并复用已有的东西,我们的老师也在上课时常常讲到:“可以去看看别人代码把别人的代码弄明白然后自己能写出来。”这其实和我们上学时期老师常常讲的话很像:”我们要把学到的东西转化成自己的“。总之天外有天人外有人,总有代码比你的更加完善一些,我们大学老师就曾讲到他现如今写代码几乎很少从头敲到尾,都是去找找现成相似的然后在哪基础上修改、优化、增添。但是老师还讲了,如果对这烦人呢程序不熟悉,模块不理解就是想抄想修改也无从下手,所以我想不管是重复也好,创新也罢总归到底自己的硬本事还是要扎实,可能这句话看起来像句废话,但是就像铁板上钉钉总有窟窿眼一样实在。