The Team Skills page stands as a pivotal section on Scanyp, shedding light on vital details about the code and suggestions for enhancement.
Through the dashboard, you're provided an overarching view of the scores:
Whereas the Team Skills page delves deep into the specifics for each score:
Code implementation Score
This metric is derived from:
- Maintainability Score: Offers insights on the project's ease of maintenance.
- Naming Score: Derived from rules identifying discrepancies in naming compared to the predominant coding standards for the relevant programming language. Notably, adjustments to these rules can be made in the admin section to fit your preferred naming conventions.
- Clones Score: Based on the quantity of code clones identified in the source code.
- Code Smells Score: Determines the code's issues. Many parameters in Scanyp can be tailored, such as modifying the criteria for what's considered a "large type". Default settings in Scanyp, for instance, define a type as large if LOC>500, though you can adjust this benchmark in the script function of the query. These directives fall under the "code smells" category.
- Compliance with Implementation Rules: Evaluates the adherence to code implementation rules. Default rules on this can also be customized.
All figures are interactive, enabling pinpoint identification of problem areas in the code.
This metric offers an encompassing view of your project's design and is deduced from:
- Coupling Score: Evaluates the interconnectedness of types and methods in the code base. A high degree of coupling results in a diminished score.
- Cohesion Score: Based on the degree of cohesion in types. A multitude of types with low cohesion reduces the score.
- Design Smells Score & Rules Compliance: Both gauge adherence to design guidelines, with the added flexibility of adjusting the default criteria.
Provides a comprehensive view of the detected issues in your project:
It's calculated based on issue quantity, but the significance of an issue is scaled by its severity. As such, 20 critical issues might lower the score more than 100 minor ones.
Unit Testing Score
The unit testing score represents the coverage percentage of your code base.
Gives a holistic overview of the documentation concerning your project's public types and methods.
This metric is derived from:
- Comments on Large Public Methods/Types: Emphasizes the need for documentation on larger components. Smaller methods without documentation don't negatively impact the score.
- Comments on Complex Public Methods: Documentation is recommended for intricate methods, but its absence in simpler methods doesn't affect the score.
- Comments on Interfaces/ Abstract Types: Such components are typically employed as APIs, making it crucial to document every method, ensuring users comprehend each function's purpose.