¿Cómo define la calidad del código?

+1 a la respuesta de Adrian Ho.

La calidad del código es una aproximación imprecisa de cuán útil y sostenible es el código a largo plazo.

Código que se desecha mañana: baja calidad .

Código que se transfiere de un producto a otro, desarrollado aún más, tal vez incluso de código abierto después de establecer su valor: alta calidad .

Dado que mirar hacia el futuro puede ser algo complicado, observamos los signos actuales que pueden ayudar a predecirlo.

Con código se traduce a:

  • Diseño e implementación claros y comprensibles.
  • Interfaces bien definidas.
  • Facilidad de construcción y uso.
  • Facilidad de extensibilidad.
  • Mínimas dependencias adicionales.
  • Pruebas y ejemplos.
  • Documentación, mejor aún: código autoexplicativo.
  • Actualización significa ponerse en contacto con el desarrollador.

Las definiciones ya se proporcionan en publicaciones anteriores, pero permítanme dividir su pregunta en 2 partes y proporcionarle cómo se puede medir el código:

Calidad del software: (métricas CMMI del Software Engineering Institute, Pitsburg USA) Evaluación CMMI. Estas métricas involucran varios parámetros que ayudan a definir la calidad del software. Es una gran herramienta para certificar la calidad del software, de un equipo o de una empresa de TI. Muchas empresas utilizan esta certificación para vender productos o llevar negocios relacionados con servicios de software.

Calidad del código: una de las muchas métricas para descubrir la calidad del código es la famosa complejidad McCabe. Da una medida cuantitativa para la complejidad del programa. http://en.wikipedia.org/wiki/Cyc … Siga el enlace para obtener una comprensión más profunda del número McCabe y cómo se puede calcular para descubrir la complejidad de su función o programa completo.

http://en.wikipedia.org/wiki/Sof

La calidad del código es más bien un grupo de diferentes atributos y requisitos, determinados y priorizados por su negocio.

Estos son los principales atributos que se pueden usar para determinar la calidad del código:

  • Claridad : fácil de leer y supervisar para cualquiera que no sea el creador del código. Si es fácil de entender, es mucho más fácil mantener y extender el código. No solo las computadoras, sino también los humanos necesitan entenderlo.
  • Mantenible : un código de alta calidad no es demasiado complicado. Cualquier persona que trabaje con el código debe comprender todo el contexto del código si desea realizar algún cambio.
  • Documentado : lo mejor es cuando el código se explica por sí mismo, pero siempre se recomienda agregar comentarios al código para explicar su función y funciones. Hace que sea mucho más fácil para cualquiera que no participó en la escritura del código comprenderlo y mantenerlo.
  • Refactorizado : el formato del código debe ser coherente y seguir las convenciones de codificación del lenguaje.
  • Bien probado : cuanto menos error tenga el código, mayor será su calidad. Las pruebas exhaustivas filtran los errores críticos para garantizar que el software funcione de la manera prevista.
  • Extensible : el código que recibe debe ser extensible. No es realmente genial cuando tienes que tirarlo después de algunas semanas.
  • Eficiencia : el código de alta calidad no utiliza recursos innecesarios para realizar una acción deseada.

    Fuente: 3 pasos para garantizar la calidad del código en el desarrollo de software offshore

Las cualidades del buen código:
– sigue un estándar de codificación, usa linting
– mucha documentación
– baja complejidad
– unidad probada
– facil de mantener
– se ejecuta rápidamente
– estrés probado
– seguridad escaneada
Borroso

Es muy raro encontrar código que cumpla con todos esos criterios. Sin embargo, cuando lo hace, el nivel de deuda técnica es ridículamente bajo y hace que sea muy fácil cambiarlo y mantenerlo.

En orden de importancia (para mí):

Algorítmicamente / “Solcionalmente”:
1. Corrección
2. Fiabilidad
3. Elegancia / Eficiencia

Código sabio:
4. claridad
5. Concisión

Como respuesta provocadora, diré lo siguiente: la calidad del código es el buen compromiso entre todas las excelentes prácticas de codificación y prueba mencionadas en las otras respuestas frente al valor agregado del software concebido. Si su software tiene una vida útil breve, no será necesario invertir tanto en calidad.

Además, un software de buena calidad, debería costar barato, mantener fácilmente y proporcionar un gran servicio a su usuario. Y el objetivo más difícil de lograr es proporcionar cualquier valor. La calidad se puede mejorar una vez que haya encontrado su público.

Si lo duda, simplemente verifique la interfaz de usuario del software Putty

Yo trabajo en Code Climate. Somos una plataforma de análisis estático para automatizar la revisión de código y acabamos de bloguear sobre este tema (Su lista de verificación para el código de calidad), en base a las conversaciones que hemos tenido con los clientes sobre lo que están tratando de lograr con una solución de calidad de código.

En resumen, hemos descubierto que, con mayor frecuencia, las organizaciones de ingeniería buscan código que sea una combinación de:

  • Claro
  • Sencillo
  • Bien probado
  • Libre de errores
  • Refactorizado
  • Documentado
  • Extensible
  • Performante

También descubrimos que la combinación de estos rasgos variaba de un cliente a otro, dependiendo de sus prioridades organizacionales. Por lo tanto, para lograr un código de calidad que satisfaga sus necesidades específicas, es importante que los objetivos de su código y su negocio estén alineados; de lo contrario, podría terminar con ninguno de los dos.

Al igual que con mi respuesta anterior sobre el dominio de la codificación, lo defino en WTF / min durante una revisión del código.