clean code 之 类篇
来源:互联网 发布:matlab算矩阵乘法 编辑:程序博客网 时间:2024/05/18 01:51
1.类的组织
类的组织遵循标准的Java约定:
变量
变量又称为实体,变量的顺序应该为:公共静态变量–>私有静态变量–>私有实体变量–>公共变量
注意1:公共静态变量应该尽可能存在同一个地方便于管理
注意2:Java类中很少使用公共变量,应该采用属性的方式来进行变量的访问和修改
属性
属性及get和set在紧跟私有实体变量。
函数
遵循自顶向下原则,公共函数–>私有函数
2.类要短小
类要短小,判断标准是是否遵循以下三个原则。类要短小会是类的数量巨增,数量巨大的短小单一目的的类会导致代码难于管理,其实,只要分好类,做好标记,相当于将东西归置到不同的小抽屉中,而不是胡乱的放入几个大抽屉中,这样及方便查找也方便修改和维护。
2.1单一职责原则
单一职责SRP(Single-Responsibilitv Principle),每个类只有一个权责,只有一条理由去修改。只做一件事情,例如只做打印、只做转换、只做算法处理等。如果一个类做的事情太多,那就应该对它进行拆解,拆解成只多个有单一权责的类,这样功能做修改的时候就省略回归测试。
2.2高内聚低耦合
在遵循单一职责的基础上,提高类间的聚合性,类间的聚合性是指类中的函数应该尽可能多操作类中的实体变量,所以内聚性=(函数使用实体的总数)/(实体总数*函数总数),当然内聚性等于1的基本上不太可能。提高内聚性可以从拆解大函数和大类入手:
拆解大函数
如果一个函数过大,可以将它进行重构拆解出多个小函数,如果小函数分离是需要传递参数,可以将传递的参数作为类的实体变量,从而去掉参数的传递,这样各个函数的功能比较单一,引发的问题是实体变量增多,从而内聚性降低,类会变大。
拆解大类
拆解大类,遵守单一职责原则就可以了。
3.适应修改
对于多数系统来说,修改将一直在持续,在系统中最重要的一条规则就是开放闭合原则OCP(Open-Close Principle),实现开放OCP目标遵循两个原则:
面向抽象编程OAP(Oriented Abstract Program)
抽象是稳定的,实现是易变的,这里的抽象表现在两个方面:业务抽象和具体抽象(抽象类和接口)
依赖导致原则DIP(Dependency Inversion Principle)
也是Spring框架的核心
隔离原则IP(Isolation Principle)
类和类之间要相互隔离,做到修改时影响最小,添加时,通过扩展而非修改来实现
- clean code 之 类篇
- clean code
- code clean
- clean code
- Clean Code
- 代码之“格式”--《Clean Code》笔记
- 代码整洁之道 clean code
- Clean Code 代码整洁之道 心得
- 代码整洁之道 clean code
- 代码整洁之道,clean code
- Clean Code 代码整洁之道
- Clean Code中译本《代码整洁之道》部分勘误提示
- 《Clean Code之道》(一)定义、命名、函数
- 《Clean Code之道》(二)注释、代码格式
- 读代码整洁之道 clean code一些命名规则
- Building Maintainable Software-java篇之 Write Clean Code
- 《Clean Code》代码的整洁之道(一)
- 《Clean Code》代码的整洁之道(二)
- 部署tomcat方案时,出现红色叹号,并且显示file lock
- android打包时如何只生成单个apk而不需要obb
- Input Processing
- cts任务执行
- CSS3选择器之nth-of-type
- clean code 之 类篇
- <转载>struts2 s:property 用法
- maven配置文件
- 实验三:静态路由的配置
- ES6 你可能不知道的事 – 基础篇
- 鼠标左键右键不触发事件的原因
- POJ 1816 Wild Words
- spring
- Leetcode31 Next Permutation