CodeQL 文档

语句过多块

ID: cpp/complex-block
Kind: problem
Security severity: 
Severity: recommendation
Precision: high
Tags:
   - testability
   - readability
   - maintainability
Query suites:
   - cpp-security-and-quality.qls

单击以查看 CodeQL 代码库中的查询

此规则查找包含过多复杂语句的代码块,例如分支语句 (if, switch) 和循环 (for, while)。

包含过多连续语句的代码块是重构的候选对象。此处仅统计复杂语句(例如 for、while、switch…)。如果将每个复杂语句提取到一个函数中,顶层逻辑将更加清晰。

建议

通常,每个连续的复杂语句都会执行一个独立的任务。常见的做法是为每个复杂语句添加注释以描述其任务。为了提高可读性并促进复用,将每个任务提取到其自己的函数中。

参考资料

  • ©GitHub, Inc.
  • 条款
  • 隐私