Keep the system simple and easy to change
Aim at keeping the system size modest (less than 200,000 LOC is good), duplication low (less than 5% is good), files small (no files longer than 1000 LOC is good), and units simple (no units with more than 25 decision points is good).
Status Metric Desired Range
[from - to] ±tolerance
Current Value Description
OK LINES_OF_CODE_MAIN [0 - 200000] ±20000 556 Total number of lines of main code
FAILED DUPLICATION_PERCENTAGE [0 - 5] ±1 63.07 System duplication
OK VERY_HIGH_RISK_FILE_SIZE_COUNT [0 - 0] ±1 0 The number of very large files
OK CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT [0 - 0] ±1 0 Number of very complex units
About This Section
  • Controls enable you to set traffic lights or alarms for any of the Sokrates metrics. An alarm is defined with a desired range and tolerance.
Learn more...
  • For more insights in the value of trend analysis, Sokrates recommends reading the section "Explicitly link metrics to goals" in the article An Appropriate Use of Metrics, (MartinFowler.com), e.g.:
    • "We would like our code to be less complex and easier to change. Therefore we should aim to write short methods (less than 15 lines) with a low conditional complexity (less than 20 is good). We should also aim to have a small handful of parameters (up to four) so that methods remain as focused as possible."