- Add all process docs to mkdocs.yml nav (15 missing pages) - Replace relative links to files outside docs/ with absolute GitHub URLs - Add docs/audit/ directory (templates + reports) - Add validation config to allow unlisted audit reports as info-level
43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# Audit 04 — KISS (Keep It Simple, Stupid)
|
|
|
|
**Objectif** : verifier que le code reste simple et ne contient pas de sur-ingenierie.
|
|
|
|
**Cible** : `document-parser/` (hors `.venv/`, `__pycache__/`), `frontend/src/`
|
|
|
|
---
|
|
|
|
## Checklist
|
|
|
|
| # | Item | Poids |
|
|
|---|------|-------|
|
|
| 4.1 | Pas de design pattern complexe la ou un simple `if` ou une fonction suffit (factory, strategy, observer superflus) | 2 |
|
|
| 4.2 | Le code resout le probleme actuel, pas un probleme hypothetique futur (pas de genericite prematuree) | 2 |
|
|
| 4.3 | Pas de fonction wrapper qui ne fait qu'appeler une autre fonction sans valeur ajoutee | 1 |
|
|
| 4.4 | Utilisation des outils standard (Python stdlib, Vue composables natifs) avant de creer des solutions maison | 1 |
|
|
| 4.5 | Configuration simple — pas de systeme de config complexe la ou une variable d'env suffit | 1 |
|
|
| 4.6 | Pas d'indirection inutile — le chemin d'execution d'une requete ne traverse pas plus de couches que necessaire | 2 |
|
|
| 4.7 | Pas de meta-programmation ou de magie (decorateurs complexes, metaclasses) sauf necessite avere | 2 |
|
|
| 4.8 | Les structures de donnees utilisees sont les plus simples possibles (liste plutot que arbre si la liste suffit) | 1 |
|
|
|
|
---
|
|
|
|
## Commandes de verification
|
|
|
|
```bash
|
|
# 4.1 — Patterns potentiellement superflus
|
|
grep -rn "class.*Factory\|class.*Strategy\|class.*Observer\|class.*Builder\|class.*Singleton" document-parser --include="*.py" --exclude-dir=.venv
|
|
|
|
# 4.7 — Meta-programmation
|
|
grep -rn "__metaclass__\|type(.*,.*,.*)\|__init_subclass__\|__class_getitem__" document-parser --include="*.py" --exclude-dir=.venv
|
|
|
|
# 4.3 — Fonctions tres courtes (potentiels wrappers inutiles, < 3 lignes)
|
|
# Verification manuelle recommandee sur les fonctions identifiees
|
|
```
|
|
|
|
---
|
|
|
|
## Regles de notation
|
|
|
|
- Tout item de poids 3 non conforme = ecart `[CRIT]`
|
|
- Tout item de poids 2 non conforme = ecart `[MAJ]`
|
|
- Tout item de poids 1 non conforme = ecart `[MIN]`
|