Aller au contenu

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%.

Production 22,460 · 64% Tests 12,439 · 36%

Lignes par langage

PHP 22,698 Markdown 6,624 YAML 5,137 CSS 236 JavaScript 122 Text 39 JSON 25 Twig 18
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.

Code 34,899 · 61% Commentaires 14,633 · 26%

Par module

Code de production (laiton) et de test (acier) par module, du plus grand au plus petit.

domain 9,255 domain_access 3,805 domain_alias 3,462 domain_content 3,266 domain_source 3,206 domain_config_ui 2,164 domain_config 961 domain_config_language 924 domain_config_language_ui 891
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.

Kernel 29 Functional 82 FunctionalJavascript 6 Unit 1
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 :

Action 16 views 13 Validation 10 Block 5 Condition 2 EntityReferenceSelection 2 LanguageNegotiation 1

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.