《代码整洁之道》第六篇

第十章内容是讲 我们见过也写过许许多多的类,有简单的类,有复杂的类,可是什么样的类是符合整洁代码要求的呢

类应该短小

关于类的第一条规定,类应该短小,二是要更短小,那么多小合适呢,对于函数我们是采用行数来衡量长度,而类是需要用“权责”来衡量长短。

如果一个类又将尽70多个方法而且是各种功能的方法,他拥有太多的权责,这就违背了单一权责原则。

单一权责原则(SSR)

单一权责原则认为,类或者说模块应该有且只有一条加以修改的理由,就是一个类只负责他该负责的部分,如果负责的功能增加了,那么他就有多个修改的理由,比如说创建订单的类里面就不能有计算金额的功能。如果这么设计的话,以后要修改的一个功能的时候,在同一个类里,可能会影响另一个功能,增加耦合。

内聚

类应该只有少量的实体,类中的每个方法都应该操作一个或者多个这种变量。保持内聚性就会的到许多短小的类

第十一章讲的主要是关于AOP(面向切面编程),这一部分我还没有怎么熟悉,只是了解,所以这一部分先放在这,如果以后这方面的知识补全了,再回来把这一部分补充一下。

第十二章讲的是迭进

通过迭进设计达到整洁目的

简单设计的四条规则

1,运行所有测试

测试对于程序有着很重要的作用,有着测试的保证,我们就不会发生修改代码的时候发生一些未知的错误,

2,不可重复

重复是程序的大敌,重复代码,最先代表着额外的工作,比如:

1
2
int size(){}
boolean isEmpty(){}

这两个函数实际上可以合在一起,比如:

1
2
3
boolean is Empty(){
return 0 == size();
}

如果你想要使自己的代码整洁,那首先就要先把程序中的相同的代码,抽取出来。

表达力

这个又回到之前说的命名了,请仔细命名,因为以后可能你自己需要查看代码的时候,自己都看不懂,到那个时候就尴尬了。

尽可能少的类和方法

即使消除了重复代码, 权责单一原则还是会过度使用,所以我们在保证函数和类短小而数量少,保持整个系统短小精悍,但是要记住,这条是者四条规则里优先级最低的一个,尽管保持类的数量少,但是更重要的是测试,消除重复,和表达力。

最重要的,实践,只有多实践才会才会对这些原则理解的更深,用起来更是得心应手。