al • propiciar el código limpio • reducir/detectar detalles (bugs) • disminuir el temor a actualizar el codebase • ahorrar tiempo en debugging • complementar la documentación del proyecto Mejorar el diseño al • separar interfaz e implementación • descomponer una funcionalidad en pequeñas partes 9