文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 六 代码重构小结

最近趁着学习劲头足,如饥似渴的把代码重构部分也学习完了,可以说9月份属实非常充实,貌似也只有学习才能导致生活没有那么无聊。代码重构博客目录序号文章列表1【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法2【Java设计模式 规范与重构】 二 重构的保障:单元测试,以及如何提高代码可测试性3【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合4【Java设计模式 规....

【Java设计模式 规范与重构】 六 代码重构小结
文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(下)

第二轮重构:提高代码可测试性关于代码可测试性的问题,主要包含下面两个方面:generate 函数定义为静态函数,会影响使用该函数的代码的可测试性,第一个问题已经解决,调用时可以在外部创建好IdGenerator然后实现。generate函数的代码实现依赖运行环境(本机名)、时间函数、随机函数,所以 generate 函数本身的可测试性也不好。对于第二点,我们需要对RandomIdGenerato....

文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(上)

前面学习了这么多重构相关的知识,比如:持续重构、单元测试、代码的可测试性、解耦、编码规范。都是在理论层面,而重构本身是一个实战的事儿,所以如何将这些理论运用到实践中至关重要,否则只能是纸上谈兵。今天用一个案例case来串联之前学习的重构,来做到融汇贯通。CASE背景后端开发中,为了方便在请求出错时排查问题,我们在编写代码的时候会在关键路径上打印日志。某个请求出错之后,希望能搜索出这个请求对应的所....

【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(上)
文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 四 小型重构的手段:规范的十五条军规

上篇Blog讲到:高内聚-低耦合是解决大型重构的手段,相对于编码规范,它能够在更高层次上提高代码的可读性和可维护性,是大型重构的重要手段,从面向对象设计思想层面角度就是:封装、抽象,从思想的最佳实践角度就是基于接口而非实现编程、多用组合少用继承,从设计原则层面角度就是:SRP、ISP、LOD,从设计模式角度就是:观察者模式、适配器模式等。从系统设计角度就是:模块化,从编程技巧角度就是:DI依赖注....

文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 三 大型重构的手段:高内聚,低耦合

之前通过两篇Blog了解了重构的目的、内容、时机、方法、保障,了解了持续重构的重要性和好处,知道了单元测试对于重构代码的保障作用,同时明确小范围重构依照规范随时进行,而大型重构需要分层、模块化、解耦、抽象可复用组件等手段,有计划的进行,本篇Blog继续学习如何应对大型重构,核心方式就是践行高内聚,低耦合,“高内聚、松耦合”是一个比较通用的设计思想,不仅可以指导细粒度的类和类之间关系的设计,还能指....

文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 二 重构的保障:单元测试,以及如何提高代码可测试性

其实之前的工作中强调过很多次自己做测试的重要性,例如讲单元测试的:【C#编程最佳实践 一】单元测试实践,讲单元测试规范的【阿里巴巴Java编程规范学习 四】Java质量安全规约,讲接口测试的:【C#编程最佳实践 十三】接口测试实践,这里旧事重提就不再详细展开了,回顾下单元测试的基本概念,重点来看如何提升代码的可测试性。单元测试依次从WHAT,WHY,HOW,HOW去了解。什么是单元测试单元测试由....

文章 2023-06-18 来自:开发者社区

【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法

从本篇Blog开始,在学习具体的设计模式之前,先学习高质量代码的达成路径的实践部分代码重构和编程规范。重构的目的什么是重构,重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低,这段定义可以理解为在保持功能不变的前提下,利用设计思想、原则、模式、编程规范等理论来优化代码,修改设计上的不足,提高代码质量,其中提高代码质量也就是提高代码的 可读性、可扩展性....

【Java设计模式 规范与重构】 一 重构的目的、内容、时机、方法

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注