6

Tengo muchas herramientas para el análisis estático, la detección de engaños, las pelusas, la medición de la complejidad ciclomática, etc. pero una de las cosas que siempre me gustaría encontrar es qué parte del código se ha modificado más (aka " Puntos calientes").¿Herramientas para encontrar y medir el código más modificado?

¿Alguien tiene consejos sobre herramientas que analizan git o registros SVN para identificar archivos/líneas que han cambiado más?

Creo que el código más modificado es probablemente el más modificado por una razón ... numerosos cambios de requisitos, código defectuoso, etc. Por lo tanto, parece un buen lugar para enfocar pruebas unitarias, revisiones de códigos, refactorización , etc.

+0

¿Qué idioma? ¿Qué plataforma? – Oded

+0

Si se va a modificar el código, seguramente debe realizar pruebas antes de la modificación (lo haría para TDD), por lo que el código más modificado ya sería el más cubierto por las pruebas. – Oded

+0

En mi caso específico, sería PHP, pero de forma realista, no debería importar porque los archivos/líneas modificados son archivos/líneas modificados. Y sí, idealmente hay pruebas que cubren esas piezas más modificadas, pero de forma realista, muchas empresas/proyectos/grupos no usan Unit Testing en absoluto, y mucho menos TDD. – CaseySoftware

Respuesta

1

Como se menciona en la pregunta @Aaron Sheffey vinculada a, StatSVN puede proporcionarle estadísticas de nivel de archivo para "código de acceso rápido".

Es probable que existan otras herramientas que hagan cosas similares, pero si no, o no encuentra una que le guste, no es demasiado difícil escribir un programa rápido que contemple el historial de su CV favorito sistema y simplemente cuenta la cantidad de veces que se cambia un archivo en particular.

Si está buscando más puntos calientes en profundidad, es probable que necesite utilizar un sistema de VC que pueda rastrear métodos y otros elementos de código de forma nativa (git lo hace hasta cierto punto), y luego tendrá que engancharse en su característica de "culpa" (o equivalente) y procesar eso.

1

He usado StatSVN para identificar "puntos calientes" y también para determinar LOC (líneas de conteo).

He visto LOC usar de muchas maneras diferentes (y algunas extrañas) - Desarrolladores corriendo un mini concurso a quién tiene máximo LOC, "Gestión" vigilando qué está pasando en dónde, vinculando equipos de "productividad" a LOC , etc :-)

Cuestiones relacionadas