《程序员修炼之道》--注重实效的途径

        这段时间忙着做算量大赛的工程,弄得有点忙乱,又有一段时间没有好好学习了。发现自己在多目标多任务的时候很难集中精力,哪位达人告诉我有没有好的方法来解决呢。

        这个月的学习任务是看完这本书,到目前为止快看完第四章了,要好好冲一把了,同志哥,要加油啊!

        这一章主要是讲了注重实效的一些途径和原则,感觉这里面说的内容跟《代码大全》和《Clean Code》有很多异曲同工的地方,甚至有很多原则是一致的,或者说已经成了软件工程界的共识。

       下面是这一章的摘要。

        如果你善于估计出事情要多长时间完成,你就能更好地在两者都很匮乏的情况下生存下去(并让你的老板更高兴)。--时间估计确实很重要,现在编码的过程中时间估计的还是不够准确,确切的说应该还是工作效率不够高导致的吧。

        DRY –Don’t Repeat yourself

        DRY原则应该算是软件工程的一个共识了,因为在我印象中似乎每本关于编码的书都会提到这个原则。它指的是系统中每一项知识都必须具有单一、无歧义、权威的表示

        重复分为如下几个方面:

        强加的重复--环境似乎要求重复,开发者觉得没有其它选择。

        无意识的重复--开发者没有意识到自己在重复信息:比如当我们拥有多个互相依赖的数据元素时,会出现一些不那么显而易见的不规范数据,如下面的一个类声明:

        class Line{

          public

            Point start;

            point end;

            double length;

        }

        这个类表面上看起来没什么问题,但实际上信息重复,因为length是由end和start计算出来的。

        无耐性的重复--开发者偷懒,有时会觉得重复更容易;

        开发者之间的重复--同一团队的几个人重复同样的信息:这个只能通过开发者之间的交流来避免。

       正交性

         在计算机技术中,正交性表示某种不相依赖性或是解耦。

       正交的好处

        1、消除无关事物之间的影响。

        2、提高生产率(似乎比较好理解)

       (1)改动可以局部化,开发时间和测试时间会降低

       (2)促进复用。如果组件的功能是明确而具体并且良好定义的,就很容易将它与其它组件结合起来。

         3、降低风险

        (1)有问题的代码区域被隔离开来

        (2)所得系统更健壮

        (3)测试更容易

        可撤销性

        可测小性主要是指在做决策的时候要为可能的意外做好准备。

        这一章还有很多内容,但是感觉这些内容不是很好理解,所以先记录这些,看第二遍的时候再补充吧。

posted @ 2011-11-22 23:39  Core Hua  阅读(211)  评论(0编辑  收藏  举报