为什么类不能过长?
目录:
- 类过长:读不通,扩展不通
- 类过长:可能有冗余代码
- 类过长:多半是职责过多
类过长:读不通,扩展不通
读不通 - 直接用滚轮滚都得好几秒,就算是原开发者,时间长了恐怕也难以理清整个类,更不用说是其他的人
扩展不通 - 一个类有过多的接口,会让扩展这个类变得异常困难,一动千行
类过长:可能有冗余代码
冗余代码,就是重复代码
冗余代码的危害非常大:
冗余代码使方法、类过长,不简洁
冗余代码会造成发散式修改
类过长:多半是职责过多
一个类开放几十个接口,绝对存在职责过多的问题
违反设计原则 - 单一职责原则(单一职责原则要求一个类只实现一个职责),违反了这个原则会导致发散式变化、发散式修改、类过长等代码问题,还会让你的类难以扩展,甚至会让其他程序猿认为你不专业。
发散式变化(指引发此类修改的地方很多),如果一个类的职责很多,那它的扇入(调用者)一定很多,每个调用者的修改都有可能让你这个类不得不随之修改,也就是发散式变化。
发散式修改(指此类修改引发修改的地方很多),相同的,如果一个类职责很多,那支撑它实现的下级,即扇出(被调用方)一定很多,如果此类逻辑发生变动,所有下级被调用者可能都得随之修改,也就是发散式修改。
难以扩展:如果你的一个类接口非常多,那它的子类怎么办?它的包装类怎么办?难道全部都要实现这么多接口,全部都要承担同样多的职责吗?扩展起来真的非常麻烦。
触发机关:【测试之怒】【运维之怒】