的“移动方法”,是一种让方法放进合适的class的重构策略。 选择合适的容器 生活中我们会用到杯子和 ...
概述 阅读文章时,如果某个段落已经传达了关键信息,我们可能就不会逐字逐句地将文章读完,因为我们已经知道了这篇文章的核心内容。与此类似,如果方法中某些条件判断可以得到结果,我们应该尽快返回该结果。 尽快返回可以带来三个好处 节省阅读代码的时间 如果方法能够尽快返回,后面的代码逻辑可以不必阅读。见下图,如果 已经返回了,就不必阅读 部分的代码 避免执行无效的逻辑 如果方法能够尽快返回,后面的代码逻辑就 ...
2016-05-31 07:04 4 967 推荐指数:
的“移动方法”,是一种让方法放进合适的class的重构策略。 选择合适的容器 生活中我们会用到杯子和 ...
为了方便大家阅读这个系列的文章,我弄了个目录汇总。 开篇和结尾 开篇有益 (2016-04-23) 终篇总结 (2016-06-02) 方法、字段重构 移动方法 (2016-04-24) 提取方法、提取方法对象 (2016-04-26) 方法、字段的提升和降低 ...
概述 “分离职责”是经常使用的一个重构策略,当一个类担任的职责太多时,应按职责将它拆分成多个类,每个类分别承担“单一”的职责,也就是让每个类专心地做“一件事情”。 SRP原则 在面向对象编程中,SRP原则是一个非常重要的原则(SOLID原则都很重要),在展示示例前,我们先了解一下SRP原则 ...
概述 当方法返回类型或属性类型为集合时,有些开发者会千篇一律地使用IList<T>集合。然而IList<T>具有集合的所有操作,这意味着调用者不仅可以读取集合信息,还能够修改集合。业务需求本来只是为调用者提供一个可读的集合,例如数据的查询和展示,但当方法返回 ...
概述 代码是从命名开始的,我们给类、方法、变量和参数命名,我们也给解决方案、工程、目录命名。在编码时,除了应该遵守编程语言本身的命名规范外,我们应该提供好的命名。好的命名意味着良好的可读性,读你代码 ...
简述 如果方法有超过3个以上的参数,调用方法时就会显得冗词赘句。这时将多个参数封装成一个对象,调用方法会显得干净整洁。这就是本文要讲的重构策略“引入参数对象”——将方法的参数封为类,并用这个类的对象替换方法中原有的参数。 引入参数对象 下图演示了这个重构策略,OrderSerivce表示订单 ...
概述 子类可以继承父类的字段、属性和方法,使用“继承”可以较大程度地复用代码。在使用继承时,务必要确定代码中定义的“父类”和“子类”确实存在客观的“父子关系”,而不要去做“为了代码复用而使用继承”的 ...
前言 世间唯一“不变”的是“变化”本身,这句话同样适用于软件设计和开发。在软件系统中,模块(类、方法)应该依赖于抽象,而不应该依赖于实现。 当需求发生“变化”时,如果模块(类、方法)依赖于具体实现 ...