这段时间忙着做算量大赛的工程,弄得有点忙乱,又有一段时间没有好好学习了。发现自己在多目标多任务的时候很难集中精力,哪位达人告诉我有没有好的方法来解决呢。
这个月的学习任务是看完这本书,到目前为止快看完第四章了,要好好冲一把了,同志哥,要加油啊!
这一章主要是讲了注重实效的一些途径和原则,感觉这里面说的内容跟《代码大全》和《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)测试更容易
可撤销性
可测小性主要是指在做决策的时候要为可能的意外做好准备。
这一章还有很多内容,但是感觉这些内容不是很好理解,所以先记录这些,看第二遍的时候再补充吧。