1.1.4 Long Parameter List(过长参数列) 特征:一个方法有超过三四个的参数。 问题原因: 过长参数列可能是将多个算法并到一个函数中时发生的。函数中的入参可以用来控制最终选用哪个算法去执行。 过长参数列也可能是解耦类之间依赖关系时的副产品。例如,用于创建函数中所需的特定对象的代 ...
分类:
其他好文 时间:
2017-07-25 01:05:12
阅读次数:
201
1.1.2 Large Class(过大的类) 特征:一个类包含过多的字段、方法、代码行。 问题原因: 类通常一开始很小,但是随着程序的增长而逐渐膨胀。 类似于过长方法,程序员通常觉得在一个现存类中添加新特性比创建一个新的类要容易。 解决方法: 设计模式中有一条重要原则:职责单一原则。一个类应该只赋 ...
分类:
其他好文 时间:
2017-07-05 11:37:22
阅读次数:
221
1.Duplicated Code(反复的代码) 臭味行列中首当其冲的就是Duplicated Code。假设你在一个以上的地点看到同样的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。 最单纯的Duplicated Code就是[同一个class内的两个方法含有同样表达式(expres ...
分类:
其他好文 时间:
2017-05-18 09:52:46
阅读次数:
236
代码的坏味道 何时必须重构?没有任何标准能比得上一个见识广博者的直觉。而某些迹象,则会指出“这里有可以用重构解决的问题”,一共22条坏代码味道。 Duplicated Code(重复代码) 如果你在一个以上的地点看到相同的程序结构,那么可以肯定,将它们合而为一,程序会变得更好。 最单纯的重复代码就是 ...
分类:
其他好文 时间:
2016-09-05 10:38:00
阅读次数:
230
1 对用户输入做过多的约定和假设 配置文件App.config中有一个设定报表路径的配置节: 在程序中有一个销售报表文件SalesReport.rpt,用代码调用这个报表,可能会写成: string salesReport=ReportPath + "SalesReport.rpt"; 因为路径末尾...
分类:
Web程序 时间:
2015-07-29 08:59:18
阅读次数:
117
前两天参加了公司组织的一个培训,主题是“如何写出好的代码” ,刚看到这个主题,第一反应是又不知道是哪个培训机构来忽悠钱的!老大安排了,就去听听呗。 说实在的,课程内容没有什么新鲜的东西,就是讲讲如何发现代码的坏味道,如何重构函数,如何修改遗留系统的代码。这些东西从本科到研究生到实习到正式工作,...
分类:
其他好文 时间:
2015-07-22 01:21:37
阅读次数:
175
代码的坏味道:1、Duplicated Method(重复代码) (1)同一个类的两个函数含有相同的表达式 用 Extract Method(110) (2)两个互为兄弟的子类内含相同表达式 两个类都用 Extract Method,然后对用Pull Up Method(332)推入超类 ...
分类:
其他好文 时间:
2015-07-08 14:24:00
阅读次数:
123
C语言基础
高质量的代码
简洁,有效代码行数,注释代码比例(20%),可靠,可测试性(每一个模块都便于测试),可维护性(代码便于阅读),可移植性(改变运行环境,代码依旧可以运行)
代码的坏味道
过长的函数(50),过多的函数参数(5),过多的局部变量(5),
重复代码,数据泥潭(有些数据项,喜欢成群结对),长switch语句,
代码的重构
函数拆分(单一职责),函数提炼,
...
分类:
其他好文 时间:
2015-06-14 16:49:36
阅读次数:
123
那些代码的坏味道:Duplicated code :最常见的复制黏贴综合征。人们会自然而然的会想到抽取方法。Long Method:这个也太常见。今天还在帮助一个小朋友重构她的python代码,一个函数写了100多行。她最痛苦的就是调试太痛苦了。其实最痛苦的还在后面。人们不愿意拆分功能,新写程序的人...
分类:
其他好文 时间:
2015-04-03 01:25:36
阅读次数:
131
2001-10-25 16:181447人阅读评论(0)收藏举报refactoringprimitiveinheritanceclassparallellibrary1.Duplicated Code代码重复几乎是最常见的异味了。他也是Refactoring 的主要目标之一。代码重复往往来自于cop...
分类:
其他好文 时间:
2015-03-02 14:44:06
阅读次数:
221