• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram

S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram
ABAP Clean Code  ·  adaptability  ·  cleancode  ·  evolvability  ·  maintainability  ·  maintainance  ·  Technical Articles  ·  Testautomation

Código limpio: escribir código mantenible, legible y comprobable

By s4pcademy 


Código limpio es un término utilizado para describir software que es fácil de leer, comprender, mantener y probar. En este blog quiero resumir algunos principios importantes, proporcionar una entrada al tema para principiantes. Además, el blog se conectará con el repositorio de guías de estilo, los libros e iniciativas actuales donde los expertos pueden contribuir. Si no quiere perderse una actualización sobre código limpio, automatización de pruebas, revisiones de código, pruebas unitarias, toma de decisiones, capacidad de prueba y otros temas de ingeniería/artesanía/arquitectura, suscríbete al nuevo boletín.

¿Qué hace que el código sea limpio?

Lograr un código limpio implica seguir un conjunto de mejores prácticas y estándares, como usar nombres significativos, mantener las funciones pequeñas y enfocadas, y usar los comentarios con moderación. Tener una base de código que sea legible y mantenible es esencial para el desarrollo sostenible. Los libros Clean Code de Robert C. Martin, Code Complete de Steve McConnell, The Pragmatic Programmer de David Thomas/Andy Hunt y algunos otros libros contienen muchas prácticas recomendadas y ejemplos de código limpio.

¿Qué es el código que no está limpio?

El código que no está limpio es un código difícil de leer, comprender y mantener. Puede tener una organización deficiente, nombres confusos o engañosos, un estilo inconsistente y otros problemas que dificultan el trabajo.

Algunos ejemplos de código que no está limpio pueden incluir:

  • Código con funciones largas y complejas que son difíciles de entender, probar y mantener.
  • Código con convenciones de nomenclatura deficientes, como variables con nombres cortos y no descriptivos, o funciones con nombres que no reflejan con precisión su propósito.
  • Código con estilo inconsistente, como sangría o espaciado inconsistente, lo que puede dificultar la lectura y comprensión.
  • Codifique con código innecesario o redundante, lo que puede dificultar su mantenimiento y comprensión.
  • Código que dificulta la automatización de pruebas, por ejemplo, acoplamiento estático entre clases.

En general, el código que no está limpio a menudo es más propenso a errores y fallas, y puede llevar más tiempo trabajar con él, ya que requiere más esfuerzo para comprenderlo, probarlo y mantenerlo.

Código%20Calidad%20de%20xkcd.com/1513/%20under%A0Creative%20Commons%20BY-ND%202.5

Calidad de código de xkcd.com/1513/ bajo Creative Commons BY-ND 2.5

Beneficios del código limpio

Hay muchos beneficios de escribir código limpio, que incluyen:

  • Legibilidad y comprensión mejoradas: el código limpio es más fácil de leer y comprender, lo que puede facilitar a los desarrolladores la adaptación, la depuración y el mantenimiento.
  • Menor riesgo de errores y fallas: el código limpio generalmente es más confiable y menos propenso a errores y fallas, ya que es más fácil de entender, probar y mantener.
  • Mayor productividad: el código limpio es más fácil y rápido para trabajar, lo que puede aumentar la productividad y la eficiencia del desarrollador. Según un metaestudio el código no saludable puede contener más de 15 veces más defectos y reducir la productividad en un factor de 9.
  • Mayor capacidad de adaptación y evolución: el código limpio y modular es más fácil de modificar y actualizar, lo que puede ayudar a que el software evolucione y se adapte a los requisitos cambiantes a lo largo del tiempo.
  • Colaboración en equipo mejorada: el código limpio es más fácil de entender y trabajar para los miembros del equipo, lo que puede mejorar la colaboración y la comunicación dentro del equipo.
  • Mejor capacidad de mantenimiento a largo plazo: el código limpio es más fácil de mantener y actualizar con el tiempo, lo que puede ahorrar tiempo y recursos. Y reduzca el riesgo si los ingenieros se trasladan a otros proyectos o abandonan la empresa.
  • Mayor reutilización de código: el código limpio y modular es más fácil de reutilizar y readaptar en diferentes contextos, lo que puede ahorrar tiempo y recursos.
  • Mejor rendimiento: el código limpio generalmente es más eficiente y puede ejecutarse más rápido, ya que es menos complejo y más fácil de optimizar cuando es necesario.
  • Proceso de revisión de código mejorado: el código limpio es más fácil de revisar, ya que está más organizado y es más fácil de entender. Esto puede conducir a revisiones de código más eficientes y efectivas.
  • Reputación mejorada: escribir código limpio puede ayudar a mejorar la reputación del desarrollador o del equipo de desarrollo, ya que demuestra un compromiso con la calidad y la profesionalidad.

En general, el código limpio puede ayudar a garantizar que su software sea confiable, mantenible y fácil de usar, lo que puede conducir a una mayor eficiencia, productividad, mayor calidad y mayor satisfacción de los desarrolladores y usuarios por igual. Los beneficios del código limpio se extienden más allá del proceso de desarrollo y pueden tener un impacto positivo en el éxito a largo plazo del software y del equipo que trabaja en él.

Principios y ejemplos importantes de Clean Code

Primero, resumamos algunos principios importantes para un código limpio y proporcionemos algunos ejemplos simples. Para cada principio hay mucho más que aprender en la guía de estilo y en los libros.

  • El código limpio facilita que los desarrolladores comprendan, modifiquen y mantengan un sistema de software. Cuando el código está limpio, es más fácil encontrar y corregir errores, y es menos probable que se rompa cuando se realizan cambios.
  • Uno de los principios clave del código limpio es la legibilidad, lo que significa que el código debe ser fácil de entender, incluso para alguien que no esté familiarizado con el sistema. Para lograr esto, los desarrolladores deberían, por ejemplo, usar nombres significativos para variables, funciones y clases.
  • Otro principio importante del código limpio es la simplicidad, lo que significa que el código debe ser lo más simple posible, sin complejidades innecesarias. Para lograr esto, los desarrolladores deben evitar el uso de estructuras de datos o algoritmos complejos a menos que sean necesarios, y deben evitar agregar características o funcionalidades innecesarias.
  • Además de la legibilidad y la simplicidad, el código limpio también debe poder mantenerse, lo que significa que debe ser fácil de modificar y actualizar el código sin romperlo. Para lograr esto, los desarrolladores deben escribir código modular que esté organizado en funciones pequeñas y enfocadas, y deben evitar la duplicación de código.
  • Finalmente, el código limpio debe estar bien documentado. Esto significa que debe incluir comentarios claros y concisos que expliquen el propósito y la funcionalidad del código. Sin embargo, los comentarios no deben usarse para explicar el código en sí; el código debe escribirse de forma que se explique por sí mismo.

En general, el código limpio es una parte esencial del desarrollo de software. Facilita la comprensión y el mantenimiento de un sistema, y ​​puede ayudar a prevenir errores y otros problemas.

El repositorio de la guía de estilo

https://github.com/SAP/styleguides

Bajo la licencia CC BY 3.0 y abierto a contribuciones de dentro y fuera de SAP, esperamos que este repositorio ayude a los desarrolladores de todo el mundo a hacer su código un poco más limpio, día a día.

El objetivo a largo plazo del repositorio de guías de estilo es cubrir los lenguajes de programación más importantes del mundo SAP. Hasta ahora solo se cubre ABAP, pero estoy convencido de que vendrán más. Tal vez también podamos cubrir Java, TypeScript, Kotlin, Go y más, más bien un deseo que cercano a la realidad.

Los libros

Hay varios libros que cubren el tema en detalle, explican el razonamiento y lo aplican a lenguajes de programación específicos.

Los libros también son muy adecuados para principiantes o principiantes para aprender los lenguajes de programación. O compañeros que ya dominan Clean ABAP y quieren aprender Clean SAPUI5. E incluso expertos en el lenguaje de programación mencionaron que aprendieron mucho y fue una fuente de inspiración.


Limpiar%20Código%20Libro%20Familia%20para%20ABAP%20y%20SAPUI5%20/%20JavaScript

Familia de libros de códigos limpios para ABAP y SAPUI5/JavaScript

Una base para la mejora

Los principales beneficios de tener una comprensión común de un estilo de código en un lenguaje de programación determinado son la capacidad de mantenimiento, la legibilidad y la capacidad de prueba mejoradas. Pero también hay muchos otros beneficios y nuevas posibilidades, que este blog explora con más detalle:

  • ¿Por qué tener un conjunto común de reglas? A medida que una organización crece, ayuda a mantener la base de código consistente y permite que los desarrolladores se concentren en los aspectos importantes. Habrá menos conflictos sobre conceptos básicos (por ejemplo, formato) debido a un estilo de código estándar.
  • Fomentando el principio de optimizar el código para el lector: Dado que el código se leerá con mucha más frecuencia de lo que se escribe, un principio importante para todas las reglas es optimizar para el lector, no para el escritor. Por lo tanto, la guía de estilo valora más la legibilidad que el uso de expresiones poderosas, que le permiten al escritor expresar algo de manera concisa, pero luego son difíciles de leer.
  • Coherencia de la base de código: si la base de código se crea teniendo en cuenta los mismos principios y la misma guía de estilo, permite a los ingenieros saltar a una parte desconocida del código y hacer mejoras rápidamente.
  • Mejorar la experiencia del desarrollador: Tener una guía de estilo coherente crea un ecosistema por sí mismo y permite mejorar la experiencia del desarrollador. Después de que se publicó la guía de estilo en 2019, la comunidad comenzó a crear herramientas para mejorar las revisiones de código, documentó las prácticas de revisión de código, verificó el código estático extendido, desarrolló formatos de capacitación y creó algunas herramientas para corregir el código automáticamente. Esta coherencia creó la base para varios proyectos InnerSource/de código abierto, mejoras de la plataforma y desencadenó la exploración de nuevas ideas.
  • Escalar una organización: a medida que crece una organización, es importante tener una comprensión común del estilo del código. ayuda a impulsar nuevos desarrolladores más rápidamente y centrar el tiempo en programación en pareja o revisiones de código en otros aspectos.
  • también otros roles, no solo los desarrolladores, se beneficianpor ejemplo, consultores que necesitan hacer ampliaciones o equipos SRE (Site Reliability Engineering) que necesitan mejorar las operaciones.
  • La consistencia también mejora el mantenimiento a largo plazo ya que los nuevos ingenieros que toman posesión pueden entender más rápidamente y mantener el código.
  • La guía de estilo permite hacer cumplir las reglas con verificaciones de código estático o incluso desarrollar correcciones automáticas. Por lo tanto, algunas discusiones ya no tienen lugar, lo que permite enfocar el tiempo de los desarrolladores en aspectos más importantes.

Actividades actuales

Con el éxito de la guía de estilo y la cantidad de propuestas de mejora surge la necesidad de un proceso más formal cuando se trata de revisar las propuestas de mejora. Hacer transparente todo el proceso y tener claridad para la toma de decisiones.

Esto incluye claridad sobre cómo se deben abrir, se procesan y el plazo típico en el que de alguna manera se puede esperar una decisión. Además, especialmente para cambios con mayor impacto (por ejemplo, cambios incompatibles), necesitamos un proceso formal para la toma de decisiones, ya que esos cambios también se verán reflejados en las verificaciones de código estático y, por lo tanto, afectarán a una gran cantidad de desarrolladores.

En los últimos meses hemos trabajado en documentar todo el proceso y anotado nuestros principios rectores para involucrar a la comunidad y tomar decisiones. Próximamente se publicará el proceso.

Si no quiere perderse una actualización sobre código limpio, automatización de pruebas, revisiones de código, pruebas unitarias, toma de decisiones, capacidad de prueba y otros temas de ingeniería/artesanía/arquitectura, suscríbete al nuevo boletín. El boletín no solo se utilizará para compartir conocimientos, sino que también ofrecerá oportunidades para la colaboración, la construcción de comunidades y la creación conjunta.



Source link


códigocomprobableescribirlegiblelimpiomantenible

Artículos relacionados


Technical Articles
SAP CPI: CI/CD de cero a héroe: inspección de código y control de calidad
Technical Articles
SAP CPI: CI/CD de cero a héroe – Revisión de código
Personal Insights
Caso de uso de ChatGPT para código ABAP y ayuda de SAP

Deja tu comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

Impulse sus visualizaciones de SAP BusinessObjects BI 4.3 con los complementos de Need4viz
Previo
Transferencia de datos para Cloud ALM for Service
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.
Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar
Cambiar ajustes
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies quiere permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. Aprenda más sobre las cookies que usamos.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Bloquear todas
  • Essentials
  • Funcionalidad
  • Análisis
  • Publicidad

Este sitio web hará:

Este sitio web no:

  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
  • Recuerde sus detalles de inicio de sesión
  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
Guardar y cerrar