的“移动方法”,是一种让方法放进合适的class的重构策略。 选择合适的容器 生活中我们会用到杯子和 ...
前言 小酌重构系列 是我在博客园的第一个系列文章,这个系列历时一个多月终于完成了。完成这个系列后,心里有一些感慨想和大家分享一下。 初衷 写这个系列的初衷是为了团队培训,为什么要做这个培训呢 是因为在项目的开发过程中,我们遭遇了一些 代码的痛苦 。 代码的痛苦 写代码是程序员的基本工作,但写出好的代码不是一件容易的事情。写不出好的代码,就可能产生痛苦。 代码的痛苦包含哪些方面呢 一般来说,包括可读 ...
2016-06-02 07:17 5 1072 推荐指数:
的“移动方法”,是一种让方法放进合适的class的重构策略。 选择合适的容器 生活中我们会用到杯子和 ...
为了方便大家阅读这个系列的文章,我弄了个目录汇总。 开篇和结尾 开篇有益 (2016-04-23) 终篇总结 (2016-06-02) 方法、字段重构 移动方法 (2016-04-24) 提取方法、提取方法对象 (2016-04-26) 方法、字段的提升和降低 ...
概述 阅读文章时,如果某个段落已经传达了关键信息,我们可能就不会逐字逐句地将文章读完,因为我们已经知道了这篇文章的核心内容。与此类似,如果方法中某些条件判断可以得到结果,我们应该尽快返回该结果。 ...
概述 “分离职责”是经常使用的一个重构策略,当一个类担任的职责太多时,应按职责将它拆分成多个类,每个类分别承担“单一”的职责,也就是让每个类专心地做“一件事情”。 SRP原则 在面向对象编程中,SRP原则是一个非常重要的原则(SOLID原则都很重要),在展示示例前,我们先了解一下SRP原则 ...
概述 当方法返回类型或属性类型为集合时,有些开发者会千篇一律地使用IList<T>集合。然而IList<T>具有集合的所有操作,这意味着调用者不仅可以读取集合信息,还能够修改 ...
概述 代码是从命名开始的,我们给类、方法、变量和参数命名,我们也给解决方案、工程、目录命名。在编码时,除了应该遵守编程语言本身的命名规范外,我们应该提供好的命名。好的命名意味着良好的可读性,读你代码 ...
简述 如果方法有超过3个以上的参数,调用方法时就会显得冗词赘句。这时将多个参数封装成一个对象,调用方法会显得干净整洁。这就是本文要讲的重构策略“引入参数对象”——将方法的参数封为类,并用这个类的对象替换方法中原有的参数。 引入参数对象 下图演示了这个重构策略,OrderSerivce表示订单 ...
概述 子类可以继承父类的字段、属性和方法,使用“继承”可以较大程度地复用代码。在使用继承时,务必要确定代码中定义的“父类”和“子类”确实存在客观的“父子关系”,而不要去做“为了代码复用而使用继承”的 ...