《clean code》第七章 类

1.类的规则:

    第一条:短小

    第二条:更短小

对于函数,通过计算代码行数衡量大小,对于类,通过计算“权责”衡量。

a.单一权责原则(SRP)

        类或模块有且只有一条加以修改的理由,系统应该由许多短小的类而不是少量巨大的类组成。

b.内聚

        类应该有少量实体变量,类中的每个方法都应该操作一个或多个这种变量。方法操作的变量越多,越内聚到类上。

c.保持内聚性就会得到许多短小的类

        例如,一个有许多变量的大函数,想把这个大函数中的部分代码提取出来,形成小函数,但是此时小函数可能需要传很多参数,这个时候不需要把这些变量都传到小函数中,而是考虑新建一个类,将这些参数升为新类的实体变量。这样就是通过将大函数拆为小函数,往往也是将类拆分成多个小类的时机。

代码举例:


。。。后面还有许多代码。这个时候对它进行重构,重构后的代码:



这段程序被拆分成3个权责单一的类。PrimePrinter类是主程序,RowColumnPagePrinter类是将数字格式化到行列上,PrimeGenerator类是用来生成素数列表。


    


猜你喜欢

转载自blog.csdn.net/iamxiapengfei/article/details/80902853