Sonar Lint 规则“方法不应太复杂”(squid:MethodCyclomaticComplexity)有一个在程序块中使用多个返回语句的示例。(有关圈复杂度计算规则,请参见https://groups.google.com/forum/#!topic/sonarqube/BtvGoF6Tw7E )
返回会缩短分支中的代码,并产生更小的代码块。例如,
int findBranchNumber(字符串输入){ if ("branch1".equals(input)) { 返回 1; } if ("branch2".equals(input)) { 返回 2; } // .... 返回-1; }
替代方案将使用方法变量(在这种情况下)或更大的块。阅读代码的人必须阅读整个方法,然后才能意识到只有前 3 行与“branch1”相关。
请指教 ...