2008-09-30 13 views
9

Recientemente instalé el plugin Eclipse Metrics y exporté los datos para uno de nuestros proyectos.Entender las métricas de código

Todo está muy bien teniendo estos buenos gráficos, pero realmente me gustaría entender más en profundidad lo que significan. Las definiciones de las métricas solo llegan hasta decirle lo que realmente significa.

¿Alguien sabe de buenos recursos, libros, sitios web, etc. que me pueden ayudar a comprender mejor lo que significan todos los datos y darme una idea de cómo mejorar el código cuando sea necesario?

Me interesan cosas como Acoplamiento eferente y Complejidad ciclomática, etc., en lugar de líneas de código o líneas por método.

Respuesta

4

No creo que las métricas de código (a veces referidas como software metrics) proporcionen datos valiosos en términos de dónde puede mejorar.

Con las métricas de código es agradable ver cuánto código escribe en una hora, etc., pero más allá de eso, le informan nada sobre la calidad del código escrito, su documentación y la cobertura del código. Son prácticamente un intento de una semana de medir dónde no se puede medir realmente.

Las métricas de código también discriminan a los programadores que resuelven los problemas más difíciles porque obviamente lograron codificar menos. Sin embargo, resolvieron los problemas difíciles y un programador junior sacando un montón de código de mierda se ve bien.

Otro ejemplo para usar métricas es el muy popular Ohloh. Emplean métricas para poner un precio en un proyecto de código abierto (usando número de líneas, etc.), que en sí mismo es un intento que es defectuoso como el infierno - como se puede imaginar.

Habiendo dicho todo lo que la entrada de Wikipedia proporciona una idea general sobre el tema, lamento no responder a su pregunta de una manera más solidaria con un sitio web o libro realmente bueno, pero apuesto a que usted no es un gran admirador. :)

Algo para emplear para ayudarlo a mejorar sería la integración continua y la adhesión a algún tipo de estándar cuando se trata de código, documentación, etc. Así es como puedes mejorar. Las métricas son solo dulces para las reuniones: "ya hemos codificado mucho".

actualización

Ok, así mi punto de ser acoplamiento eferente o incluso complejidad ciclomática puede indicar que algo está mal - no tiene por qué ser malo sin embargo. Puede ser un indicador para refactorizar una clase, pero no hay una regla general que le indique cuándo.

En mi humilde opinión, una regla como más de 500 líneas de código, refactor o DRY principal son más aplicables en la mayoría de los casos. A veces es tan simple como eso.

Te doy tanto que, dado que la complejidad ciclomática se representa gráficamente en un diagrama de flujo, puede ser una revelación. Pero de nuevo, úselo con cuidado.

+0

pude haber utilizado un término incorrecto de la "métrica". No me preocupan las líneas de código o código por tipo de método de medición, sino algunas de las medidas más complejas que tiene. Complejidad Ciclomática, Acoplamiento Eferente, etc. Sin embargo, su punto es debidamente anotado. – Feet

+0

Extendí mi respuesta y respondí a sus puntos. :) ¡Ojalá! – Till

Cuestiones relacionadas