Métriques du code¶
Un instantané mesuré du code de Domain et de ses modules, compté avec cloc. Les graphiques montrent les lignes de code (lignes vides et de commentaire exclues) sauf indication contraire.
Instantané
Mesuré sur la branche 3.x, 2026-07-02. 485 fichiers, 34,899 lignes de code, 14,633 lignes de commentaire, 7,329 vides (56,861 lignes au total). Voir la section Méthodologie ci-dessous pour reproduire.
Vue d'ensemble¶
| Code | Commentaires | Vides | Fichiers | Production | Tests |
|---|---|---|---|---|---|
| 34,899 | 14,633 | 7,329 | 485 | 22,460 | 12,439 |
Production et tests¶
Domain embarque 12,439 lignes de code de test pour 22,460 lignes de code de production, soit un ratio tests/production de 55%.
Lignes par langage¶
| Langage | Code | Commentaires | Vides | Fichiers |
|---|---|---|---|---|
| PHP | 22,698 | 14,418 | 5,054 | 316 |
| Markdown | 6,624 | 0 | 2,115 | 43 |
| YAML | 5,137 | 67 | 77 | 117 |
| CSS | 236 | 69 | 69 | 1 |
| JavaScript | 122 | 65 | 14 | 4 |
| Text | 39 | 0 | 0 | 2 |
| JSON | 25 | 0 | 0 | 1 |
| Twig | 18 | 14 | 0 | 1 |
Composition¶
Tous langages confondus, le code représente 61% des lignes, les commentaires 26% et les lignes vides 13%. La part de commentaires reflète les conventions de docblock de Drupal.
Par module¶
Code de production (laiton) et de test (acier) par module, du plus grand au plus petit.
| Module | Production | Tests | Total |
|---|---|---|---|
| domain | 5,070 | 4,185 | 9,255 |
| domain_access | 2,053 | 1,752 | 3,805 |
| domain_alias | 1,708 | 1,754 | 3,462 |
| domain_content | 3,003 | 263 | 3,266 |
| domain_source | 1,400 | 1,806 | 3,206 |
| domain_config_ui | 1,232 | 932 | 2,164 |
| domain_config | 430 | 531 | 961 |
| domain_config_language | 429 | 495 | 924 |
| domain_config_language_ui | 171 | 720 | 891 |
Suite de tests¶
Domain embarque 118 classes de test automatisees (290 methodes de test), ventilees par type ci-dessous.
| Type de test | Classes | Méthodes |
|---|---|---|
| Kernel | 29 | 176 |
| Functional | 82 | 106 |
| FunctionalJavascript | 6 | 6 |
| Unit | 1 | 2 |
| Total | 118 | 290 |
Surface d'architecture¶
Ce que contient le module, compté sur l'ensemble de Domain et de ses modules : les briques Drupal (services, plugins, hooks, routes, entités) qui composent son API publique et interne.
| Élément | Nombre |
|---|---|
| Services | 72 |
| Abonnés aux événements | 0 |
| Implémentations de hook | 54 |
| Routes | 19 |
| Permissions | 24 |
| Formulaires | 9 |
| Contrôleurs | 5 |
| Types d'entité de contenu | 0 |
| Types d'entité de configuration | 2 |
| Types de schéma de configuration | 44 |
| Plugins | 49 |
Les plugins se répartissent par type comme suit, du plus grand au plus petit :
Méthodologie¶
Les comptes sont produits avec cloc depuis la racine du module, en excluant node_modules :
cloc --exclude-dir=node_modules .
Les totaux de production et de test se séparent sur le répertoire de tests :
# production
cloc --exclude-dir=node_modules --not-match-d='(^|/)tests(/|$)' .
# test
cloc --exclude-dir=node_modules --match-d='(^|/)tests(/|$)' .
Les classes de test sont comptées selon leur répertoire sous tests/src (Unit, Kernel, Functional, FunctionalJavascript) ; la colonne des méthodes compte les méthodes préfixées test plus celles annotées @test ou #[Test]. La surface d'architecture compte les définitions de service dans *.services.yml, les clés de route et de permission dans *.routing.yml et *.permissions.yml, les attributs #[Hook], les classes de plugin sous src/Plugin/, les formulaires et contrôleurs sous src/Form et src/Controller, les attributs de type d'entité dans src/Entity, et les types de premier niveau dans config/schema/*.yml, le tout agrégé sur le module et ses sous-modules.
Les graphiques sont des SVG statiques en ligne générés à partir du JSON que produit cloc, ils ne nécessitent donc ni JavaScript ni greffon de graphiques. Cette page est rafraîchie périodiquement.