代码之家  ›  专栏  ›  技术社区  › 

类中允许的最大方法数的限制是多少?

  •  3
  •  · 技术社区  · 7 年前

    填写时 The Object Oriented Concepts Survey

    老实说,在设计我的应用程序时,我从来没有考虑过这样的限制,我想知道这背后的原因是什么。为什么我要给自己强加一个任意的数字,这个数字可能非常依赖于类的功能?

    5 回复  |  直到 17 年前
        1
  •  8
  •   Mykola Golubyev    17 年前

    你不必限制N的最大值。但你必须遵循“高凝聚力”原则。不要创建所有可以做的类。

    我想有一些N之后你应该开始担心。但这实际上取决于类本身和它的主要目标。

        2
  •  4
  •   chaos    17 年前

    认为有一个神奇的数字可以作为我们制定规则的基础,这是那些渴望给宇宙强加秩序的人通常会感到局促不安。

    也就是说,如果一个类中有超过20个方法,那么它很有可能做得太多,并且违反了 SRP .

        3
  •  3
  •   Eric Petroelje    17 年前

    我也不会对任何东西施加任意的限制,但是我会说,一旦一个类的公共方法超过了10-20个范围,我会认真研究这个类在做什么。在我的J2EE时代,我们称之为企业级Java甜瓜。

    同样的规则适用于单个方法的长度。我见过只有一到两个方法的类,但是每个方法都有数百行代码。

        4
  •  3
  •   Bill K    17 年前

    同样,一个设计良好的类可能有30个方法,而一个设计不好的类可能有3个方法(嗯,30是在推它,但关键是——这不一定是一个好的度量,有点像计算kloc)

    您的框架/语言也可能需要许多没有业务逻辑的方法。

    当我查看源代码时,我很惊讶JDK类实际上有多少方法,但是它们是如此的脆弱,如此之小,如此容易阅读,所以有20个根本不是问题。

        5
  •  1
  •   drt    17 年前

    推荐文章