{"results":{"result":{"added-files":{"code-health":0.0,"old-code-health":0.0,"files":[]},"external-review-url":"https://github.com/linagora/esn-sabre/pull/465","old-code-health":8.816158827775617,"modified-files":{"code-health":9.387218218812514,"old-code-health":8.816158827775617,"files":[{"file":"lib/CalDAV/OrganizerValidationPlugin.php","loc":207,"old-loc":185,"code-health":9.387218218812514,"old-code-health":8.816158827775617}]},"removed-files":{"code-health":0.0,"old-code-health":0.0,"files":[]},"external-review-id":"465","analysis-time":"2026-08-27T08:46:05Z","negative-impact-count":0,"suppressions":{"number-of-types":0,"number-of-files-touched":0,"findings":[]},"affected-hotspots":0,"commits":["6d12687c4afe736b93f489c25ddf29b18a922dc4","8fdf8aacfee798438ab9b65010bd78e45fabe35c"],"is-negative-review":false,"negative-findings":{"number-of-types":0,"number-of-files-touched":0,"findings":[]},"positive-impact-count":1,"repo":"esn-sabre","code-health":9.387218218812514,"version":"3.0","authors":["Hung"],"directives":{"added":[],"removed":[]},"positive-findings":{"number-of-types":1,"number-of-files-touched":1,"findings":[{"name":"Overall Code Complexity","file":"lib/CalDAV/OrganizerValidationPlugin.php","change-type":"fixed","change-level":"improvement","is-hotspot?":false,"why-it-occurs":"Overall Code Complexity is measured by the mean cyclomatic complexity across all functions in the file. The lower the number, the better.\n\nCyclomatic complexity is a function level metric that measures the number of logical branches (if-else, loops, etc.). Cyclomatic complexity is a rough complexity measure, but useful as a way of estimating the minimum number of unit tests you would need. As such, prefer functions with low cyclomatic complexity (2-3 branches).","how-to-fix":"You address the overall cyclomatic complexity by a) modularizing the code, and b) abstract away the complexity. Let's look at some examples:\n\nModularizing the Code: Do an X-Ray and inspect the local hotspots. Are there any complex conditional expressions? If yes, then do a [DECOMPOSE CONDITIONAL](https://refactoring.com/catalog/decomposeConditional.html) refactoring. Extract the conditional logic into a separate function and put a good name on that function. This clarifies the intent and makes the original function easier to read. Repeat until all complex conditional expressions have been simplified.\n\n","what-changed":"The mean cyclomatic complexity in this module is no longer above the threshold"}]},"notices":{"number-of-types":0,"number-of-files-touched":0,"findings":[]},"external-review-provider":"GitHub"},"analysistime":"2026-08-27T08:46:05.000Z","project-name":"esn-sabre","repository":"https://github.com/linagora/esn-sabre.git"}}