{% extends "layout.html" %} {% block title %} Overview {% endblock %} {% block pageTitle %} AST Metrics - Overview {% endblock %} {% block content %}
All languages ({{ projectAggregated.Combined.ConcernedFiles|length }} files) {% for languageName, lang in projectAggregated.ByProgrammingLanguage %} {{ languageName }} ({{ lang.ConcernedFiles|length }} files) {% endfor %}
{% if currentView.Comparaison %} {% if currentView.Comparaison.ChangedFiles|length > 0 %}
Code has changed compared to {{ currentView.Comparaison.ComparedBranch }}. Explore changes now.
{% endif %} {% endif %}
{{ currentView.Loc.Sum|stringifyNumber }}

{% if currentView.Comparaison %} {% include 'componentComparaisonBadge.html' with comparaisonMode='dontCare' diff=currentView.Comparaison.Loc round=0 %} {% endif %} Lines of code

{% include "componentChartRadiusBarLoc.html" %}

The total number of lines of code.

{{ currentView.CyclomaticComplexityPerMethod.Avg | floatformat:2 }}

{% if currentView.Comparaison %} {% include 'componentComparaisonBadge.html' with comparaisonMode='lowIsBetter' diff=currentView.Comparaison.AverageCyclomaticComplexityPerMethod round=2 %} {% endif %} Cycl. complexity per method

{{ currentView|barchartCyclomaticByMethodRepartition}}

The average complexity of the code, measured by the number of possible execution paths. Lower is better.

{% set color="red" %} {% if currentView.MaintainabilityIndex.Avg > 84 %} {% set color="green" %} {% elif currentView.MaintainabilityIndex.Avg > 64 %} {% set color="yellow" %} {% endif %} {{ currentView.MaintainabilityIndex.Avg | floatformat:0 }}

{% if currentView.Comparaison %} {% include 'componentComparaisonBadge.html' with comparaisonMode='highIsBetter' diff=currentView.Comparaison.AverageMI round=2 %} {% endif %} Maintainability index

{{ currentView|barchartMaintainabilityIndexRepartition}}

Based on the volume, the complexity of operators and the complexity of the code. Ideally, should be higher than 85.

{{ currentView.LocPerMethod.Avg | floatformat:0 }}

{% if currentView.Comparaison %} {% include 'componentComparaisonBadge.html' with comparaisonMode='lowIsBetter' diff=currentView.Comparaison.AverageLocPerMethod round=2 %} {% endif %} Average lines of code per method

{{ currentView|barchartLocPerMethodRepartition}}

Long methods are hard to maintain and understand. Ideally, should be lower than 20.

{% if currentView.ResultOfGitAnalysis %}
{{ currentView.CommitCountForPeriod | stringifyNumber }}

Commits on analyzed code

{{ currentView|lineChartGitActivity}}
{% for commitAnalysis in currentView.ResultOfGitAnalysis %} {% endfor %}
Total Impacting Ignored
{{ commitAnalysis.CountCommits }} {{ commitAnalysis.CountCommitsForLanguage }} {{ commitAnalysis.CountCommitsIgnored }}

The number of commits over the last 12 months. Only commits on current programming language are counted.

{% else %}
{{ currentView.CommitCountForPeriod | stringifyNumber }}

Commits

{{ currentView|lineChartGitActivity}}

The number of commits over the last 12 months. Only commits on current programming language are counted.

{% endif %}
{{ currentView.BusFactor }}

Bus factor

Top committers {% for committer in currentView.TopCommitters %} {% endfor %}
Top committers
{{ committer.Name }}

The bus factor is the number of developers that would need to be incapacitated before a project would stall due to insufficient knowledge or skills. Ideally, should be higher than 3.

Top candidates for refactoring (more)

These components have a low maintainability index and have been recently modified. They are good candidates for refactoring.

{% include "componentTableRisks.html" with detailled=false linesToDisplay=10 %}
Packages

Relations between packages

{% include "componentDependencyDiagram.html" %}
{{ currentView.Instability.Avg | floatformat:2 }}

Average Instability

{% include "componentChartRadiusBarAfferent.html" %}

Number of times the component is used by other components. If high, the component is difficult to refactor.

{% include "componentChartRadiusBarEfferent.html" %}

Number of external dependencies.

{{ currentView.CyclomaticComplexityPerMethod.Avg | floatformat:2 }}

Average complexity per method (cyclomatic)

{% include "componentChartRadiusBarComplexity.html" %}

The average complexity of the code, measured by the number of possible execution paths. Lower is better. This metrics includes interfaces and abstract classes, and may be lower than 1.

{% endblock %}