程序员学习进步之重构代码(程序员学习进步之重构代码)
当了很多年的程序员了,不要告诉我没有重构过自己写的代码,什么?重构代码是什么意思?那下面我们来说说重构代码。
重构是在不改变软件可观察行为的前提下改善内部结构。简单的说就是你写的代码,在返回来重看的时候,发现写的很烂,并且不能支持现有功能,所以必须在不改变现有功能的基础上面来重写。
重构前也要必须准备一下:
-
重构前,先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。
-
重构技术就是以微小的步伐修改程序。如果你犯下错误,很容易便可发现它。
-
任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。(变量命名)
-
重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
-
重构:使用一系列重构方法,在不改变软件可观察可观察行为的前提下,调整其结构。
什么样的代码要重构:
-
Duplicated Code 重复代码
-
Long Method 过长函数
-
Large Class 过大的类
-
Long Parameter List 过长参数列
-
Divergent Change 发散式变化 – 软件能够更容易被修改
-
Shotgun Surgery 霰弹式修改 – 在很多类中做出许多小的修改
-
Feature Envy 依恋情结 – 函数对某个类的兴趣高过对自己所处类的兴趣
-
Data Clumps 数据泥团 – 很多相同的参数(可以新建一个类来保存)
-
Primitive Obsession 基本类型偏执
-
Switch Statements switch 惊悚现身
-
Parallel Inheritance Hierarchies 平行继承体系
-
Lazy Class 冗赘类
-
Speculative Generality 夸夸其谈未来性
-
Temporary Field 令人迷惑的暂时字段
-
Message Chains 过度耦合的消息链
-
Middle Man 中间人
-
Inappropriate Intimacy 狎昵关系
-
Alternative Classes with Different Interfaces 异曲同工的类
-
Incomplete Library Class 不完美的类库
-
Data Class 纯稚的数据类
-
Refused Bequest 被拒绝的遗赠
-
Comments 过多的注释
总之多重构自己的代码,就可以让自己代码写的更漂亮,让自己的技术水平和写程序的思维角度更上一层楼。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com