当前位置: 首页 > 知识库问答 >
问题:

认知复杂性及其对语码的影响

王宜
2023-03-14
Critical code smell: Refactor this method to reduce its Cognitive Complexity.
    null

提前谢了。

共有1个答案

陶超
2023-03-14

人类可以很容易地记住大约7个实体+/-2(维基百科)。当有人需要阅读代码时,他们可能会遇到这个限制。有时需要跟踪的局部变量太多,或者if/for语句太多。在所有情况下,这使得理解代码应该做什么变得更加困难,因为很难在脑海中保持算法的图像。

行业标准:编号。

可读性和可维护性:调试/改进简单易读的代码更容易。

 类似资料:
  • 我理解认知复杂性是什么,以及如何计算它,但我现在不知道如何确定这个度量的好值,所以我的代码没有多复杂。我需要一个客观的方法来估计它,而不是比较项目彼此。类似于“复杂性/行代码”之类的公式。或者,如果我为一个大项目定义了一个质量门,我如何计算它的值。

  • 我们注意到SonarQube java插件中有一条关于认知复杂度的新规则,“方法的认知复杂度不能太高”,但我们不明白该规则使用的是哪一个度量。 是否有一个新的度量或一个旧的度量(另一个名称)被重用? 谢谢 马西莫

  • 我有一个方法,把罗马数字转换为公共十进制。我在这里用了一个循环和很多“if”条件。我的IDE中的SonarLint告诉我,这种方法的认知复杂度为33,而允许的复杂度为15。我怎样才能减少这个?我不介意如何解决这个问题。等待你的赔偿!

  • 对于下面的JavaScript函数,我试图找出如何降低认知复杂性。

  • 我在重构这部分代码时遇到了问题。如何降低该代码的认知复杂性

  • 查看CSS中的阴影()。我已经理解了基本值及其顺序,比如X和Y相对于元素的偏移量、模糊和扩展半径以及颜色(https://developer.mozilla.org/en-us/docs/web/css/box-shadow)。然后我遇到了这个有趣的影子模板集合,您可以在其中复制它们的编码(https://getcssscan.com/css-box-shadow-examples),我感到很困惑