《重构改善既有代码的设计》——代码的坏味道
2017-05-24 21:19
357 查看
这本书虽然主要是讲重构,但是对于经验浅的程序员来说,编写程序的规范和技巧更值得借鉴。
代码的坏味道,对应的是好的编程习惯。本文中方法(Java)=函数(python),通用技巧总结如下。
1. 处理重复代码
从重复代码中抽象出独立功能函数,或者超类。
2. 拆解过长函数
程序越长越难理解,对过长函数进行拆解,给每个小函数命名。让小函数容易理解的关键在于,有一个一眼就能判断功能的名字。
如果程序中有大量参数和临时变量,可以尝试:
引入参数对象;提取功能函数;用函数代替临时变量;把方法替换为方法对象。
其中,如果两个类中有相同字段,或者函数有相同参数,且成群结队地出现(数据泥团),那么把这些总是绑在一起出现的参数设立一个专门的数据对象,称为引入参数对象。
3. 集中散弹式修改
如果每改变一种情况,需要修改得代码散步各处,那么就需要设立一个MoveMethod()或者MoveField()来把需要修改对象统一放到同一个类。
[b]4. 删除冗余类
[/b]
你所创建的每一个类都需要有人去理解它、维护它,这些工作都需要花钱的。如果一个类不值其身价,就应该消失。
[b][b]5. 警惕过多的注释
[/b][/b]
当注释过多,说明代码很糟糕。首先通过各种解耦、重构去除代码的坏味道,会发现注释多余。
代码的坏味道,对应的是好的编程习惯。本文中方法(Java)=函数(python),通用技巧总结如下。
1. 处理重复代码
从重复代码中抽象出独立功能函数,或者超类。
2. 拆解过长函数
程序越长越难理解,对过长函数进行拆解,给每个小函数命名。让小函数容易理解的关键在于,有一个一眼就能判断功能的名字。
如果程序中有大量参数和临时变量,可以尝试:
引入参数对象;提取功能函数;用函数代替临时变量;把方法替换为方法对象。
其中,如果两个类中有相同字段,或者函数有相同参数,且成群结队地出现(数据泥团),那么把这些总是绑在一起出现的参数设立一个专门的数据对象,称为引入参数对象。
3. 集中散弹式修改
如果每改变一种情况,需要修改得代码散步各处,那么就需要设立一个MoveMethod()或者MoveField()来把需要修改对象统一放到同一个类。
[b]4. 删除冗余类
[/b]
你所创建的每一个类都需要有人去理解它、维护它,这些工作都需要花钱的。如果一个类不值其身价,就应该消失。
[b][b]5. 警惕过多的注释
[/b][/b]
当注释过多,说明代码很糟糕。首先通过各种解耦、重构去除代码的坏味道,会发现注释多余。
相关文章推荐
- 《重构改善既有代码的设计》之代码的坏味道(二)
- 《重构改善既有代码的设计》代码的坏味道
- 《重构改善既有代码的设计》之代码的坏味道(一)
- 《重构改善既有代码的设计》-代码的坏味道(学习笔记 )
- 《重构改善既有代码的设计》之代码的坏味道(三)
- 21种代码的“坏味道”
- 重构之代码坏味道
- 代码的坏味道
- 也说代码的味道
- 代码坏味道
- 21种代码的“坏味道”
- 代码的坏味道
- 21种代码的“坏味道”
- 重构系列2.代码的坏味道
- zz 代码的坏味道——你们的项目有这些问题吗?
- 21种代码的“坏味道”
- 代码的坏味道——摘自《重构》
- 从抽象到模式——面向对象之旅(二)、代码的坏味道
- 21种代码的“坏味道”
- 21种代码的“坏味道”