Afr*_*ief 17 c++ design-patterns anti-patterns
在阅读[关于11000行C++源文件怎么办?]帖子时,我有dejavu的感觉,但我不认为我可以自己开始采取行动,因为我没有权力采取行动.所以我认为第一步是说服组织中的人们认为大块代码是坏的.
我有一个类似的情况,有一个单独的类有11975行代码,每次有新功能,这个类很有可能变得越来越大.
Joh*_*web 22
你有我的同情心.任何庞大的阶级都不可避免地违反了单一责任原则,使其难以维持.
我最好的建议是以身作则:
与遗留代码相比,您的代码将像灯塔一样闪耀,您的团队将了解哪些代码更易于维护.
Chu*_*dad 11
11975(或者它已经是12000 :))类实现的行.这不好吗?Cerainly看起来如此.但...
这取决于.通常,实现Mediator模式或Facade模式的类往往非常大.它们具有非常复杂的路由/通信协议.类似"上帝"的课程也往往非常庞大和单一.简而言之,A类实际上可能很大,但这可能不是问题.
因此,不要将LOC作为参数集中在一起,而是专注于类的功能/设计.该课程违反了单一责任原则吗?如果一个类真的很大,那么单独的LOC不能成为唯一的决定因素.查看其他指标,例如Cyclomatic Complexity.
但是,如果您得出结论认为这在您的项目环境中非常糟糕,那么您必须有充分的理由说服相关的利益相关者.例如,
一个.这堂课有很多错误吗?
湾 这个类错误修复总是会引入回归缺陷吗?(高耦合,低内聚?)
C.在这个课程中需要多长时间修复缺陷?这与其他模块相比如何?
d.为此模块生成一些UML图以说明重要问题(例如耦合).
即 阅读指标/咨询您的质量/指标/ QA团队并生成足够的数据点.OOAD指标的一个例子在这里,但我相信有很多.
编辑2(一些小的变化)
F.从您控制范围内的一些关键利益相关者那里获得初步支持.接下来,得到一个能够很好地呈现这些事实的人!在这个阶段我看到很多事情都失败了!
祝好运!