Sintetizar transformaciones de programa para refactor masivo en Python
Visión general
De qué trata este proyecto.
Implementa la herramienta en Python usando libcst o ast nativo. Acepta como input 3-5 pares (antes/después) escritos a mano. Sintetiza una regla de reescritura (basada en patrones AST + slots variables) que generalice los pares. Aplica al codebase y produce: un commit por archivo, un informe de impacto (líneas modificadas, archivos tocados, casos no manejados), y un mecanismo de rollback con git revert atómico. Cubre al menos 4 idiomas Python: keyword arguments, default values, decorators y context managers. Mide precisión sobre un subconjunto anotado de 50 archivos. Compara con codemods escritos a mano y con LibCST canonicalmente. Entrega el código, los ejemplos de transformación, el informe de impacto y un informe técnico de 8 páginas.
El Briefing
Lo que harás y lo que demostrarás.
Construir una herramienta de program synthesis que generalice transformaciones a partir de ejemplos y aplique refactor masivo seguro sobre 280 KLOC Python.
Earning criteria — what you'll demonstrate
- Sintetizar transformaciones de programa a partir de ejemplos
- Trabajar sobre AST de Python con libcst manteniendo formato
- Medir precisión de refactor automático con triage manual
- Diseñar mecanismos de rollback seguros para refactor masivo
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Construir program synthesis para refactor masivo es exactamente la pieza de portafolio que abre roles en plataformas internas y developer tools en empresas grandes.
Este proyecto afina
- program-synthesis
- ast-manipulation
- refactoring