阅读本文大概需要 5 分钟。
来自:https://urlify.cn/6jQRN3
最近,在对已有项目进行扩展的时候,发现要改动的一个类它长900行,开放了近40个public接口,我流着泪把它给改完了。为了防止这样的惨剧再次发生在我的身上,我觉得有必要写一篇博客来让广大程序猿同胞知道代码重构的重要性。如果你身边有一个类写上千行的猿,一定要把此文转给ta
为什么类不能过长?
类过长——读不通,扩展不通
读不通——直接用滚轮滚都得好几秒,就算是原作者,时间长了恐怕也难以理清整个类,更不用说是其他的读者
扩展不通——一个类有过多的接口,会让扩展这个类变得异常困难,一动千行
类过长——可能有冗余代码
此时CV工程师打了个冷战
冗余代码,就是重复代码,通常出自使用Ctrl+C,Ctrl+V来生产代码的CV工程师之手,冗余代码的危害非常大:冗余代码使方法、类过长,不简洁
冗余代码会造成发散式修改(冗余代码需要变动时,每一处Ctrl+V都需要修改)
类过长——多半是职责过多
一个类开放几十个接口,绝对存在职责过多的问题,就像图中的Tom猫一样手忙脚乱,一个类的职责过多也有巨大问题:违反设计原则——单一职责原则(单一职责原则要求一个类只实现一个职责,比如一只Tom只做扫地、擦桌、拖地中的一件事,而其他事的实现可以转移给史派克狗或肥胖女佣),违反了这个原则会导致发散式变化、发散式修改、类过长等代码问题,还会让你的类难以扩展,甚至会让其他程序猿认为你不专业