您的位置:首页 > 编程语言

clean code 之 类篇

2016-07-31 14:12 92 查看

1.类的组织

类的组织遵循标准的Java约定:

[b]变量[/b]

变量又称为实体,变量的顺序应该为:公共静态变量–>私有静态变量–>私有实体变量–>公共变量

注意1:公共静态变量应该尽可能存在同一个地方便于管理

注意2:Java类中很少使用公共变量,应该采用属性的方式来进行变量的访问和修改

[b]属性[/b]

属性及get和set在紧跟私有实体变量。

[b]函数[/b]

遵循自顶向下原则,公共函数–>私有函数

2.类要短小

类要短小,判断标准是是否遵循以下三个原则。类要短小会是类的数量巨增,数量巨大的短小单一目的的类会导致代码难于管理,其实,只要分好类,做好标记,相当于将东西归置到不同的小抽屉中,而不是胡乱的放入几个大抽屉中,这样及方便查找也方便修改和维护。

2.1单一职责原则

单一职责SRP(Single-Responsibilitv Principle),每个类只有一个权责,只有一条理由去修改。只做一件事情,例如只做打印、只做转换、只做算法处理等。如果一个类做的事情太多,那就应该对它进行拆解,拆解成只多个有单一权责的类,这样功能做修改的时候就省略回归测试。

2.2高内聚低耦合

在遵循单一职责的基础上,提高类间的聚合性,类间的聚合性是指类中的函数应该尽可能多操作类中的实体变量,所以内聚性=(函数使用实体的总数)/(实体总数*函数总数),当然内聚性等于1的基本上不太可能。提高内聚性可以从拆解大函数和大类入手:

[b]拆解大函数[/b]

如果一个函数过大,可以将它进行重构拆解出多个小函数,如果小函数分离是需要传递参数,可以将传递的参数作为类的实体变量,从而去掉参数的传递,这样各个函数的功能比较单一,引发的问题是实体变量增多,从而内聚性降低,类会变大。

[b]拆解大类[/b]

拆解大类,遵守单一职责原则就可以了。

3.适应修改

对于多数系统来说,修改将一直在持续,在系统中最重要的一条规则就是开放闭合原则OCP(Open-Close Principle),实现开放OCP目标遵循两个原则:

[b]面向抽象编程OAP(Oriented Abstract Program)[/b]

抽象是稳定的,实现是易变的,这里的抽象表现在两个方面:业务抽象和具体抽象(抽象类和接口)

[b]依赖导致原则DIP(Dependency Inversion Principle)[/b]

也是Spring框架的核心

[b]隔离原则IP(Isolation Principle)[/b]

类和类之间要相互隔离,做到修改时影响最小,添加时,通过扩展而非修改来实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  整洁代码