Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:cleancode [2023/11/07 13:07] 192.168.175.10 |
ada:howto:sicoferp:factory:cleancode [2023/11/07 13:23] (actual) 192.168.175.10 |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Buenas prácticas de desarrollo de software: Principios Clean Code (Código Limpio) ====== | ====== Buenas prácticas de desarrollo de software: Principios Clean Code (Código Limpio) ====== | ||
- | Esta sección presenta las 7 reglas principales del Clean Code (Código Limpio). La información ha sido adaptada tomando como referencia el portal https://www.hostgator.mx/blog/clean-code-codigo-limpio/ | + | Esta sección presenta las 7 reglas principales del Clean Code (Código Limpio). |
- | El concepto de código limpio se le atribuye a Robert Cecil Martin, un destacado ingeniero de software que popularizó este término en su libro "Clean Code: Refactoring, Patterns, Testing and Techniques for Clean Code". No obstante, los principios subyacentes a la idea de código limpio tienen raíces mucho más profundas y no se limitan exclusivamente al ámbito de la programación. A continuación, te ofrecemos una explicación sobre lo que implica el código limpio, sus beneficios y cómo llevarlo a la práctica. | + | El concepto de código limpio se le atribuye a **Robert Cecil Martin**, un destacado ingeniero de software que popularizó este término en su libro "//**Clean Code: Refactoring, Patterns, Testing and Techniques for Clean Code**//". No obstante, los principios subyacentes a la idea de código limpio tienen raíces mucho más profundas y no se limitan exclusivamente al ámbito de la programación. A continuación, te ofrecemos una explicación sobre lo que implica el código limpio, sus beneficios y cómo llevarlo a la práctica((https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/clean-code-que-es-el-codigo-limpio/)). |
===== ¿Que es Clean Code? ===== | ===== ¿Que es Clean Code? ===== | ||
Línea 19: | Línea 19: | ||
Las ventajas de este enfoque de programación son evidentes: el código limpio se vuelve independiente del desarrollador que lo creó. En esencia, cualquier programador puede trabajar con él, lo que evita los problemas asociados con el código heredado. Además, el mantenimiento del software se simplifica, ya que los errores son más fáciles de identificar y corregir((https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/clean-code-que-es-el-codigo-limpio/)). | Las ventajas de este enfoque de programación son evidentes: el código limpio se vuelve independiente del desarrollador que lo creó. En esencia, cualquier programador puede trabajar con él, lo que evita los problemas asociados con el código heredado. Además, el mantenimiento del software se simplifica, ya que los errores son más fáciles de identificar y corregir((https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/clean-code-que-es-el-codigo-limpio/)). | ||
+ | ===== 7 Reglas principales del Clean Code ===== | ||
- | ===== Notas ===== | + | ==== 1. La importancia de los nombres ==== |
- | * Toda actualización debe estar soportada por un ticket o control de cambios. | + | La elección de nombres desempeña un papel fundamental en la comprensión de un código, ya sea para variables, funciones, parámetros, clases o métodos. Al seleccionar un nombre, es esencial considerar dos aspectos clave: |
- | * Toda actualización debe estar validada exitosamente por el rol de QA. | + | |
- | * El versionamiento aplica para la liberación de release. | + | Debe ser preciso y expresar la idea central de manera directa. |
- | * Cada versión debe ser almacenada en su repositorio especifico. | + | No temas usar nombres largos si ello es necesario para representar con claridad la función o propósito. |
+ | |||
+ | ==== 2. Regla del boy scout ==== | ||
+ | Esta regla se basa en la idea de que, al salir de un área de acampada, debes dejarla más ordenada de lo que la encontraste. En el ámbito de la programación, esto se traduce en dejar el código más limpio de lo que estaba antes de editarlo. | ||
+ | |||
+ | ==== 3. Sé el autor auténtico del código ==== | ||
+ | El código es una narrativa, y los programadores son los autores de esta historia. Para estructurar un código limpio, es fundamental crear funciones simples, claras y concisas. Dos reglas orientadoras son: | ||
+ | |||
+ | * Mantén las funciones pequeñas. | ||
+ | * Y, si es posible, aún más pequeñas. | ||
+ | |||
+ | Es importante no confundir "**nombre**" con "**función**". Como se mencionó en el primer principio, los nombres largos no son un problema, pero las funciones deben mantenerse breves. | ||
+ | |||
+ | ==== 4. DRY (No te repitas) ==== | ||
+ | Este principio, acuñado en el libro "//**The Pragmatic Programmer**//," se aplica a diversas áreas de desarrollo, como: | ||
+ | |||
+ | * Bases de datos | ||
+ | * Pruebas | ||
+ | * Documentación | ||
+ | * Codificación | ||
+ | |||
+ | **DRY** defiende que cada elemento del conocimiento del sistema debe ser único y exento de ambigüedades, evitando así la duplicación de funcionalidades. | ||
+ | |||
+ | ==== 5. Comentar con moderación ==== | ||
+ | Los comentarios en el código deben ser utilizados con moderación y solo cuando sean realmente necesarios. Según la perspectiva de **Uncle Bob**, los comentarios pueden inducir a error, ya que suelen quedar obsoletos al modificarse el código. Por lo tanto, si se opta por comentar, debe ser de manera esencial y revisada conjuntamente con la versión del código. | ||
+ | |||
+ | ==== 6. Manejo de errores ==== | ||
+ | El autor **Michael Feathers** destacó la importancia de tratar adecuadamente las excepciones en el desarrollo web. Los programadores son responsables de garantizar que el código siga funcionando incluso cuando surgen problemas. Tratar las excepciones de manera correcta es un aspecto clave en este proceso. | ||
+ | |||
+ | ==== 7. Pruebas limpias ==== | ||
+ | La realización de pruebas es una etapa crucial en la programación, y solo un código que ha pasado pruebas limpias puede considerarse verdaderamente limpio. Para ello, se deben cumplir ciertas reglas: | ||
+ | |||
+ | * **Rápido**: Las pruebas deben ejecutarse rápidamente y en cualquier momento. | ||
+ | * **Independiente**: Las pruebas deben ser independientes para evitar efectos en cascada en caso de fallo. | ||
+ | * **Repetible**: Deben ser repetibles en diferentes entornos. | ||
+ | * **Autovalidación**: Las pruebas bien escritas devuelven respuestas claras (verdadero o falso) para evitar subjetividades en los errores. | ||
+ | * **Puntual**: Las pruebas deben ser escritas antes del código mismo, siguiendo estrictamente el criterio de puntualidad. | ||
+ | |||
+ | El **Clean Code** es un concepto arraigado que resuelve de manera eficiente uno de los principales desafíos que enfrentan muchos proyectos de desarrollo de sistemas: el mantenimiento((https://www.hostgator.mx/blog/clean-code-codigo-limpio/)). | ||
[[ada:howto:sicoferp:factory:goodsoftwaredevelopmentpractices|←Volver atras]] | [[ada:howto:sicoferp:factory:goodsoftwaredevelopmentpractices|←Volver atras]] | ||