1
Sonar Lint規則「方法不應太複雜」(squid:MethodCyclomaticComplexity)有一個在程序塊中使用多個return語句的示例。 (有關循環複雜度計算規則,請參見https://groups.google.com/forum/#!topic/sonarqube/BtvGoF6Tw7E)有多個回報是不好的做法嗎?
返回值縮短分支中的代碼,並生成較小的代碼塊。例如,
int findBranchNumber(String input) { if ("branch1".equals(input)) { return 1; } if ("branch2".equals(input)) { return 2; } // .... return -1; }
替代方法將使用方法變量(在本例中)或更大的塊。閱讀代碼的人必須先閱讀整個方法,然後才意識到只有前3行與「branch1」相關。
請指教...
您擁有多少'if'語句?有人可能會認爲在這裏使用「Map」會有所改進。 –
你說得對。查找映射對於像這樣的翻譯工作來說是更好的方法。 – user2995767