Rien ne relevait les commentaires hors convention. L'outil lit commentaires et docstrings, jamais le code autour, et rend deux familles inégales : l'identifiant — adresse, courriel, chemin de compte, nom de la liste privée — est une trouvaille ; le récit — témoignage, date, personne — un signal à relire. Le hook pre-commit le lance sur l'index, sort toujours en 0 — un contrôle bloquant à cette échelle se fait désinstaller — et parle quand l'outil échoue. La règle du générateur et sa doc portent le nettoyage au fur et à mesure, et l'exemple d'un interdit s'invente : base, adresse, compte et hôte en prennent un. L'écran du contexte est posé, sans entrée de menu. Vérifié : 252 tests des six fichiers d'essai touchés passent. --- EN --- Nothing reported the comments that break the convention. The tool reads comments and docstrings, never the code around them, and returns two unequal families: identifying data — address, e-mail, account path, private-list name — is a finding; narrative — witness marker, date, person — a signal to re-read. The pre-commit hook runs it on the index, always exits 0 — a blocking check at that scale gets uninstalled — and speaks when the tool fails. The generator rule and its doc carry the clean-up as you go, and a forbidden thing's example is invented: a real database, address, account and host each take one. The context screen is in place, with no menu entry. Checked: 252 tests of the six touched fixture files pass. Assisted-by: Claude Opus 5
1.8 KiB
Code Generator
ERPLibre inclut un système de génération de modules Odoo :
script/code_generator/new_project.py— Créer un nouveau modulescript/code_generator/create_from_existing_module.py— Cloner un module existantaddons/TechnoLibre_odoo-code-generator/— Moteur de générationaddons/TechnoLibre_odoo-code-generator-template/— Templates
Documentation : doc/CODE_GENERATOR.md
Les commentaires du code produit
Le code généré porte des commentaires comme le reste, et la même règle : ils
disent COMMENT ça marche, ils ne portent rien d'identifiant et ils ne
racontent pas l'enquête. Voir .claude/rules/04-code-conventions.md.
Un module généré à partir d'une base existante hérite de ce qu'elle contient : relire ses commentaires et ses docstrings avant de committer, un nom de client ou de base y arrive tout seul.
Le nettoyage au fur et à mesure
Rien ne se nettoie en une passe : on corrige les commentaires du fichier qu'on touche, au moment où on le touche. Deux outils le rappellent.
Le hook pre-commit liste ce qui est à relire dans les fichiers indexés,
SANS bloquer le commit :
git config core.hooksPath script/git/hooks # une fois par clone
L'outil se lance aussi à la main, sur un fichier, un répertoire ou l'index :
python3 script/analyse/check_comment_hygiene.py script/todo/todo.py
python3 script/analyse/check_comment_hygiene.py --staged
python3 script/analyse/check_comment_hygiene.py script --identifying-only
🔴 identifiant — adresse, courriel, chemin de compte : à retirer.
🟡 récit — témoignage, date, première personne : à RELIRE, l'outil ne
tranche pas. Un fait durable reste ; l'incident
où on l'a observé part. Codes de sortie : 0 rien, 1 des trouvailles, 2 l'outil
a échoué.