| name | kdd-arquitectura-java |
| description | Verifica 8 reglas de arquitectura y codigo limpio: capas, excepciones, ISP, inversion de control/DI/Factory, AOP, convencion de nombres (COC), duplicacion (DRY) y polimorfismo antes que if/else. Usala cuando el usuario pida revisar o auditar arquitectura por capas, inyeccion de dependencias o principios SOLID en un proyecto Python. |
KDD Arquitectura Java Solida Checker
Extraido de "Arquitectura Java solida" con el metodo Knowledge-Driven
Development (kdd-book). De 33 secciones, 15 caen en
pila A -el porcentaje contractable mas alto entre los libros de codigo del corpus-: los principios
de arquitectura resultan tan medibles como las heuristicas de código limpio porque son propiedades
del grafo de dependencias e instanciación, justo lo que un analisis estatico lee de forma nativa.
"Semantico" para un humano no implica "no medible" para un parser.
Flujo
-
Para las reglas de arquitectura (capas, excepciones, isp, instanciacion, aop,
coc), encontra la raiz del proyecto: estas reglas miden relaciones entre modulos -una
capa, quien crea a quien-, y derivar la raiz del archivo que se esta tocando escanearia solo su
propia capa, dando siempre verde.
-
Corré las reglas:
python scripts/arch_checks.py --rule capas \
--capa presentacion=vistas --capa negocio=servicios --capa persistencia=dao \
--permite presentacion>negocio --permite negocio>persistencia <raiz>
python scripts/arch_checks.py --rule excepciones <raiz>
python scripts/arch_checks.py --rule isp <raiz>
python scripts/arch_checks.py --rule instanciacion <raiz>
python scripts/arch_checks.py --rule instanciacion --permite-crear factoria <raiz>
python scripts/arch_checks.py --rule aop <raiz>
python scripts/arch_checks.py --rule coc --esquema tabla.sql <raiz>
python scripts/checks.py --rule g5 --max 0 <archivo.py> [...]
python scripts/checks.py --rule g23 --max 2 <archivo.py> [...]