31天重构学习笔记7. 重命名(方法,类,参数)
来源:互联网 发布:赵薇万惠事件知乎 编辑:程序博客网 时间:2024/06/05 17:34
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,所以有必要专门整理一个重构的纲要,当然这个系列也非常适合做新系统的代码规范参考,只要有代码的地方,这个重构规范就很有价值。周末也不想出去闲逛,因为在刚到这个美丽的城市,没有亲戚或者朋友,所以才能静下心来两天时间写完这个重构参考规范。同时也感受了Windows Live writer写文章的快感。当然重构的整体架构得另当别论(整体架构在我的这篇文章有专门的讲解(http://www.cnblogs.com/zenghongliang/archive/2010/06/23/1763438.html)。大的架构设计好了以后,这些重构细节点就成了东风之后的大火,对整个项目也是至关重要。31天重构这个系列和《代码大全》、《重构:改善既有代码的设计》比较起来最大的特点就是比较简单、浅显易懂。那么我这些文章也都是学习Sean Chambers的31天重构的笔记整理,所以如果大家对这个笔记有任何异议也可以指出。
具体也可以通过http://www.lostechies.com/blogs/sean_chambers/archive/2009/07/31/31-days-of-refactoring.aspx查看原文。
概念:本文中的改名(方法,类,参数)是指在写代码的时候对类、方法、参数、委托、事件等等元素取一个有意义的名称。
正文:如下代码所示,加入一个公司建立一个员工的类,类中有一个员工名字的字段和一个按照小时计算员工收入的方法,那么下面代码的取名就显得很难理解了,所以我们会重构名称。
namespace LosTechies.DaysOfRefactoring.Rename.Before
{
public class Person
{
public string FN { get; set; }
public decimal ClcHrlyPR()
{
// code to calculate hourly payrate
return 0m;
}
}
}
重构后代码如下所示,这样看起来就非常清晰,如果有新进项目组的成员,也会变得很乐意看这个代码。
namespace LosTechies.DaysOfRefactoring.Rename.After
{
// Changed the class name to Employee
public class Employee
{
public string FirstName { get; set; }
public decimal CalculateHourlyPay()
{
// code to calculate hourly payrate
return 0m;
}
}
}
总结:此重构经常被广大程序员所忽视,但是带来的隐患是不可估量的,也许老板要修改功能,那我们来看这段没有重构的代码(就算是自己写的,但由于时间和项目多等关系,我们也很难理解了),然后就会变得焦头烂额。相反重构后的代码就会觉得一目了然、赏心悦目。
- 31天重构学习笔记7. 重命名(方法,类,参数)
- 重命名(方法,类,参数)
- 重命名(方法,类,参数)
- 学习笔记6 方法、参数
- air 学习笔记:air 批量重命名文件
- R语言学习笔记-变量重命名
- sklearn学习笔记-《超参数优化方法》
- 可变参数(...)学习笔记
- 可变参数(...)学习笔记
- linux学习笔记(三) 复制、删除、移动、重命名文件(文件夹)命令
- python 重命名 有关类的笔记
- C++学习笔记(6)——多重继承类对象的构造函数参数的传递方法
- 31天重构学习笔记23. 引入参数对象
- CLR Via C# 学习笔记(6) 方法参数相关(out ref params)
- Java for Web学习笔记(六十):Controller替代Servlet(2)方法中的参数
- Struts2_学习笔记(三)--------Action接收参数的四种方法
- Struts2_学习笔记(三)--------Action接收参数的四种方法
- 安卓学习笔记---Retrofit2.0 实现图文(参数+图片)上传方法总结
- 31天重构学习笔记3. 提升方法
- 31天重构学习笔记4. 降低方法
- Bloom filter
- 31天重构学习笔记5. 提升字段
- 31天重构学习笔记6. 降低字段
- 31天重构学习笔记7. 重命名(方法,类,参数)
- 31天重构学习笔记8. 使用委派代替继承
- 31天重构学习笔记9. 提取接口
- 31天重构学习笔记10. 提取方法
- emacs补全
- 31天重构学习笔记11. 使用策略类
- 31天重构学习笔记12. 分解依赖
- 31天重构学习笔记13. 提取方法对象
- 31天重构学习笔记14. 分离职责