gpt4 book ai didi

java - 认知复杂性及其对代码的影响

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:18:21 24 4
gpt4 key购买 nike

对于其中一个 java 项目,我们最近开始使用 SonarLint。代码分析的输出显示太多关键代码气味警报。

Critical code smell: Refactor this method to reduce its Cognitive Complexity.

我听说过圈复杂度,但没听说过认知复杂度。我对小组的问题:

  • 认知复杂性是行业标准吗?
  • 除了可读性和可维护性之外,认知复杂性对代码的影响。
  • 认知复杂性是否仅适用于方法或代码的任何其他部分?
  • 认知复杂性所依赖的任何特定标准?
  • 提高代码认知复杂度的最佳实践。

我已经完成了这个link但无法得到我所有问题的答案。

提前致谢。

最佳答案

人类可以轻松记住大约 7 个实体 +/- 2( wikipedia )。当有人需要阅读代码时,他们可能会遇到这个限制。有时需要跟踪的局部变量太多,或者 if/for 语句太多。在所有情况下,这都会让人更难理解代码应该做什么,因为很难在脑海中记住算法。

行业标准:无

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

应用于方法或其他部分:某些人可能想要理解的一切。如果你试图解释你的设计,而我需要跟踪 20 多个类,我就会迷路。如果我需要快速使用您的界面,但我需要记住 10 位状态,我将无法做到。

它所依赖的任何特定标准:理解代码需要记住的事情的数量。

最佳实践:定义更多更好的函数。将相关概念提取到组/包中。减少代码中嵌套级别的数量(如果您阅读嵌套代码,您需要记住让您到达那里的条件)。在任何一点减少正在使用的变量的数量(非常适合提取函数)。

关于java - 认知复杂性及其对代码的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46673399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com