Hace poco un cliente con el que colaboro me llamó y me dijo que había una herramienta de IA que le habían recomendado. En sus tiempos mozos fue programador, así que le escuché. Y me contó la historia de cómo se lo recomendaron, es buena. Resulta que un amigo de mi cliente vio a un amigo en una conferencia, se sentaron a tomar un café y le contó que llevaba un mes desarrollando un juego. Su amigo le dijo que le contará cómo era el juego y le empezó a dar detalles. Después de 5 minutos su amigo giro el portátil y le dijo: — ¿Es como este? Sorprendido le dijo: — ¿Tú también lo has desarrollado? A lo que respondió: — Lo acabo de hacer con esta herramienta de la IA mientras me lo contabas. Mi cliente estaba totalmente alucinado con esta herramienta, me dijo que iba a cambiar la forma de desarrollar. Según me dijo, es una herramienta de línea de comandos. Está convencido de que esta herramienta es literalmente como hacer pair programming con la IA. No te sugiere cambios que tienes que copiar y demás. Hace cambios en tu código directamente, commits, analiza pull request desde los ángulos que tú le digas, puede crear pull request con las mejoras sugeridas, etc. Mi cliente me paso un análisis que ha hecho esta herramienta en un pull request mío en su aplicación. Este es el análisis: Code Quality Analysis:
1 UI Component Modernization:
• Positive: Migration from XML-based buttons to Jetpack Compose UI components • Positive: Better separation of concerns by extracting button styles into reusable components • Positive: Implementation of preview functionality for UI components • Positive: Consistent styling through shared button components (TealBorderButton and TealGradientButton)
2 Code Organization:
• Positive: Better file organization by consolidating similar UI components • Positive: Improved naming conventions (from specific SearchWithBiometricsButton to more generic TealGradientButton) • Positive: Clear separation between UI logic and business logic
3 Code Maintainability:
• Positive: Reduced code duplication through reusable components • Positive: Better type safety with @StringRes annotations • Positive: Improved null safety handling in parcelable operations
Clean Architecture Compliance:
1 Presentation Layer:
• Positive: Clear separation of UI components from business logic • Positive: Proper use of ViewModel pattern • Positive: UI state management through Compose
2 Domain Layer:
• Positive: Business logic remains unchanged and properly separated • Positive: Clear boundaries between UI and domain logic
3 Data Layer:
• Positive: Proper handling of biometrics data • Positive: Improved null safety in data operations
4 Dependencies:
• Positive: Dependencies flow from outer layers (UI) to inner layers • Positive: Proper use of dependency injection
Areas for Improvement:
1 Consider adding unit tests for the new Compose UI components 2 Documentation could be enhanced for the new components 3 Consider adding error handling for edge cases in biometrics operations
The changes align well with Clean Architecture principles while modernizing the UI layer using Jetpack Compose. The refactoring improves code maintainability and reusability without compromising the architectural boundaries. Ha conseguido que me pique la curiosidad. He decidido sentarme con él a probarla y os contaré mis conclusiones en otro email. Ya sabes que, de momento, he dejado las ediciones en directo de la formación Clean Architecture. Estoy recibiendo peticiones para hacer una edición en abierto. Si hay la suficiente gente apuntada a la lista de espera, es posible que haga una edición próximamente. Lista de Espera Pd: Si te gustan mis emails, habla bien y comparte xurxodev.com para que otros lo disfruten. Pd2: Si no te gustan mis emails, habla mal y comparte xurxodev.com para evitar que otros lo sufran.
|