课程什么时候太长了?

Dea*_*n J 22 oop code-design

什么时候功能太长了?我想是这个问题的一个子集.

确定课程太长的几个好指标是什么?

我正在为一个与外部承包商的项目重新制定一套代码验收指南,并意识到我过去没有涉及这个问题,但是应该在将来讨论这个问题.

Ste*_*ven 63

当它有多个责任.

让我引用Robert C. Martin的清洁代码:

类的第一个规则是它们应该很小.类的第二个规则是它们应该小于它....通过功能,我们通过计算物理线来测量尺寸.对于课程,我们使用不同的衡量标准 我们承担责任.[第10章,第136页]

  • @Thorsten这是一个老人,但是金色的.但即使是像TCP/IP套接字一样简单的类也有不止一个责任,除非你把责任视为"成为套接字",在这种情况下,整个责任概念变得毫无价值. (2认同)

Ser*_*kov 17

类扇出复杂性:给定类依赖的其他类的数量.此外,这个方块已经显示出至少表示功能程序(基于文件)所需的维护量.

循环复杂性:根据指定的限制检查圈复杂度.复杂性是通过if,while,do,for,?:,catch,switch,case语句和运算符&&和||的数量来衡量的.(加一)在构造函数,方法,静态初始化程序或实例初始化程序的主体中.它衡量通过源的最小可能路径数,从而衡量所需测试的数量.通常1-4被认为是好的,5-7好,8-10考虑重新分解,现在11 +重新因子!


wow*_*cat 9

不超过17行.不多也不少.所以,如果是17行以下,回车就可以了.如果超过17,则需要从函数内部开始调用其他函数.

例如:

public function myFunction() {
...
line 17: myFunctionPart2();
}

public function myFunctionPart2() {
...
line 17: myFunctionPart3();
}
Run Code Online (Sandbox Code Playgroud)

等等.

它非常标准的编程实践.

  • +1知道真正的编程秘密,17的规则.请注意,如果你添加25到17你得到42,我们都知道这意味着什么. (6认同)
  • 哦,对于课程,限制是19行. (5认同)