重构与代码质量
烂代码
在讨论烂代码之前,我需要先发一下感慨:优雅的程序都是类似的,恶心的代码却各有各的恶心。这些烂代码就好像是喝醉了的人说胡话,你根本无法了解这个人当时在想什么 — 大概他们真的什么都没想。
虽然有些片面,但我还是决定这些形态各异的烂代码做个总结:
-
高耦合
假如在面试的时候问求职者:面向对象设计需要遵循什么原则呀?大概没有人会答错:高内聚低耦合。但工作中能做到这一点的人却少之又少,于是便出现了一些几万行代码的大工程;几十个方法的Service类;几百行的函数,等等。
后来便出现了这种事情:想要依赖某个工程里一个简单的方法,加上依赖之后发现打完包的工程里莫名其妙多了几十个jar包和满屏幕的依赖冲突;改一个简单逻辑却无从下手,只能一遍又一遍的研究那段成百上千行的函数…… -
拷代码
有时候我会觉得,拷代码简直是程序员的天性。尤其是在你跟一个程序员强调说模块间要低耦合之后,一些跟主流程无关的代码便会出现在各个类的角落里。