Durante el desarrollo de CloseOnion, me di cuenta de que era hora de hablar sobre la cultura de ingeniería de OpenOnion.
·-- 5.26
¿Cómo garantizar la calidad del código? ¿Cómo garantizar una entrega confiable a largo plazo?
Los valores fundamentales de OpenOnion son la simplicidad y la repetibilidad.
El código debe ser simple, la simplicidad es un requisito de legibilidad y mantenibilidad. No debemos complicarnos la vida escribiendo código.
La funcionalidad del código debe ser reutilizable y modular.
La reutilización garantiza la coherencia del conjunto y evita sorpresas innecesarias tanto para los desarrolladores como para los usuarios. Para lograr la reutilización, naturalmente elegirás que los detalles de implementación dependan de abstracciones, en lugar de que las abstracciones dependan de los detalles.
Por supuesto, hay muchas otras cosas externas que son importantes, como el aislamiento de interfaces, las pruebas automatizadas, la integración continua y la refactorización oportuna. Estas son garantías para que nuestro código sea simple y repetible. Si deseas lograr la simplicidad y repetibilidad, gradualmente prestarás atención a estas cosas en el futuro. Su objetivo es hacer que el código sea simple y repetible.
Espero que en el desarrollo futuro, siempre consideremos si esta parte del código es lo suficientemente simple, si alguien puede entenderlo a simple vista sin necesidad de explicaciones o documentación. No uses trucos o azúcar sintáctica en exceso, escribe de manera que incluso un tonto pueda entenderlo. Piensa si una función es demasiado larga y si sería más claro dividirla en funciones más pequeñas. ¿El archivo o la funcionalidad actual están demasiado acoplados? ¿Dependen las abstracciones de los detalles? ¿Podrá esta parte ser reutilizable en el futuro?
Cada desarrollador debe hacerse las siguientes preguntas al escribir código:
- ¿Es el código lo suficientemente simple? ¿Puede alguien entenderlo a simple vista?
- ¿Es el código fácil de mantener? ¿Modificar una parte afectará a otras partes?
- ¿El código es reutilizable? ¿Puede modularizarse y utilizarse en otros lugares?
- ?
Al hacernos constantemente estas preguntas, podemos asegurarnos de que el código se mantenga simple, claro y mantenible, y así cumplir con nuestros valores fundamentales: simplicidad y repetibilidad.
Solo al adherirnos a estos principios podemos mantenernos competitivos en un entorno tecnológico en constante cambio y entregar continuamente software de alta calidad.