软件重构!!!
什么是好的代码?
什么是坏的代码?
要能嗅出代码的坏味道,找到坏味道。
类的坏味道,函数的坏味道。
重构,精品,看多少遍都值得看。
哪些是类的坏味道?
重复代码
同一个类的两个函数,含有相同的表达式。
优化方式:提炼函数
两个互为兄弟的子类含有相同的表达式。
优化方式:函数上移
两个不相关的类含有相同的表达式。
优化方式:提炼类
过大的类
不易阅读、不易维护
每个类只干一件事
发散式变化
针对外界变化,应该只调整一个类
散弹式修改
多定义常量,一处修改,多处使用
多定义配置文件
冗赘的类
没价值的类,就干掉
异曲同工的类
两个类干的事情差不多,就提炼,或干掉一个
不完美的库类
尽量完善库类
函数的坏味道?
过长的函数
函数不要太长
每个函数5到20行代码
优秀的命名,看名字就知道函数要做什么
过长的参数列
一到两个参数
太长的参数列不容易理解,不容易写测试用例
数据结构灵活使用
不要只用基本的数据结构
依恋情节
函数对别的类更迷恋
其他注意项
代码整洁
单一职责
性能调优
单元测试
使用可读,可搜索的名称
好的注释