味道

散发着坏味道的单例

想起自己在刚刚入行时,接触到单例这种设计模式,大为欣喜,居然有这样一种方式可以让某些类不受作用域的限制,也不需要考虑层层传参,就可以在程序的任何角落直接使用。这样的便利性让我对单例的使用欲罢不能,但随着经验的积累,我渐渐开始闻到了单例的坏味道。在最近的一次阅读同事代码时,这种坏味道十分明显,也促使自 ......
味道

基于AI的架构优化:创新数据集构造法提升Feature envy坏味道检测与重构准确率

以Feature envy架构坏味道为例,利用一系列启发式规则和一个基于决策树的分类器,实现了一种基于真实数据的高质量重构数据集构造方法,并利用此方法构建的数据集将Feature envy架构坏味道的检测与重构准确率提升到业界SOTA水平。 ......
准确率 架构 味道 Feature 数据

代码的坏味道 《重构改善既有代码的设计》

1. Duplicated Code重复代码,在程序中多次出现的相同结构或功能的代码 同一个类中的两个函数含有相同的表达式 两个互为兄弟的子类中含相同的表达式 相互独立的类中出现相同表达式 2. Long Method 过长的函数难以理解及维护 段函数或间接层具有很强的解释能力、共享能力和选择能力 ......
代码 味道

代码坏味道的变迁

2018年,Martin Fowler的《重构》第二版出版,距离第一版,已经19年了。为什么作者要出新版?通过分析两个版本的变化,可以探知端倪。这些变化,一方面体现了作者多年的思考和总结,另一方面也体现了技术潮流的演进。本文先从讨论坏味道的变迁开始。 《重构》第一版中有22种坏味道,第二版中有24种 ......
味道 代码

代码的坏味道

代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。 1. 重复的代码 如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。 同一个class内的两个函数中含有重复的代码 ......
味道 代码

软件重构--代码的坏味道(更新中)

# 1.重复代码 > 如何做 - 把相同的部分抽取为一个方法 - 兄弟类:方法放在父类中 - 不相关的类:将重复代码提到一个独立的类中 # 2.过长的函数 > 如何做 - 把复杂的业务拆分成简单的业务,并封装为方法放在本类中 - 分析方法的临时变量,修改变量名为见名知意的名字,然后消除不必要的临时变 ......
味道 代码 软件

代码的坏味道(二)——为什么建议使用模型来替换枚举?

**为什么建议使用对象来替换枚举?** 在设计模型时,我们经常会使用枚举来定义类型,比如说,一个员工类 Employee,他有职级,比如P6/P7。顺着这个思路,设计一个 Level 类型的枚举: ``` class Employee { private String name; /** * 薪水 ......
模型 味道 代码 建议

代码坏味道(一)

### GC 优化 #### 1.防止大对象Buffer到内存中 **现象**:当大包请求时,YGC 耗时严重 **原因**:默认情况下 Zuul2 并不会缓存请求体(DirectByteBuffer),也就意味着它会先发送接收到的请求 Headers 到后端服务,之后接收到请求体再继续发送到后端服 ......
味道 代码

坏代码味道(一)

### GC 优化 #### 1.防止大对象Buffer到内存中 **现象**:当大包请求时,YGC 耗时严重 **原因**:默认情况下 Zuul2 并不会缓存请求体(DirectByteBuffer),也就意味着它会先发送接收到的请求 Headers 到后端服务,之后接收到请求体再继续发送到后端服 ......
味道 代码

24种常见的坏味道及重构手法

神秘命名 不能见名知意 尽量去一个合适的名字 重复代码 改动的时候很必须要全部找出,修改困难 抽取公共代码,以便统一维护 过长的函数 小读完所有行才知道清楚这个函数的大意,很多时候只需要知道这里面大概做了啥,不需要知道没一行做了啥,没行都读效率影响阅读效率,一般不要超过80行 分段提取子方法 过长参 ......
手法 味道 常见

读C#代码整洁之道笔记04_重构C#代码识别代码坏味道

1. 应用程序级别代码坏味道 1.1. 布尔盲点 1.1.1. 由于函数使用布尔值而导致的信息缺失 1.1.2. 解决方案是将布尔替换为枚举类型 1.2. 组合爆炸 1.2.1. 不同的代码使用不同的参数组合来执行同一件事情的产物 1.2.2. 解决方案使用泛型 1.3. 人为复杂性 1.3.1.  ......
代码 味道 笔记 04

第三章 代码的坏味道

3.1 Duplicated Code(重复代码) 如果你在一个以上的地点看到相同的程序结构,设法将它们合二为一 1、同一个类的两个函数含有相同的表达式 2、两个互为兄弟的子类含相同的表达式 3、如果两个毫不相关的类出现重复代码,考虑将公共方法提到第三个类 3.2 LongMethod(过长函数) ......
味道 第三章 代码
共12篇  :1/1页 首页上一页1下一页尾页