visual studio metricas fuente codigo code metrics

metrics - fuente - metricas de codigo visual studio 2017



Calcular métricas de código (19)

Atlassian FishEye es otra excelente herramienta para el trabajo. Se integra con su sistema de control de fuente (actualmente es compatible con CVS, SVN y Perforce) y analiza todos sus archivos de esa manera. El análisis es bastante básico, sin embargo, y el producto en sí es comercial (pero a un precio muy razonable, IMO).

También puede obtener un complemento llamado Crisol que facilita las revisiones de códigos de pares.

¿Hay alguna herramienta disponible que calculará las métricas del código (por ejemplo, número de líneas de código, complejidad ciclomática, acoplamiento, cohesión) para su proyecto y con el tiempo producirá un gráfico que muestre las tendencias?


Con respecto a la herramienta NDepend que viene con 82 métricas de código diferentes, desde Número de líneas de código, hasta Rango de método (popularidad), Complejidad ciclomática, Falta de cohesión de métodos, Cobertura porcentual (extraída de NCover o VSTS), Profundidad de herencia. .

Con su sistema de reglas, NDepend también puede encontrar problemas y estimaciones de deuda técnica, que es una métrica de código interesante (cantidad de esfuerzo de desarrollo para solucionar problemas frente a la cantidad de tiempo de desarrollo anulado por año para dejar los problemas sin corregir).

Todas estas métricas están detalladas here .


En PHP, creo que por ejemplo phpUnderControl incluye métricas a través de phpUnit (si no me equivoco).

Tenga en cuenta que las métricas suelen ser defectuosas. Por ejemplo, un codificador que está trabajando en problemas triviales producirá más código y se verá mejor en sus gráficos, que un codificador que está descifrando los problemas complejos.


En mi último proyecto utilicé SourceMonitor . Es una buena herramienta gratuita para el análisis de métricas de código.
Aquí hay un extracto del sitio oficial de SourceMonitor:

  • Recopila métricas en un archivo de origen rápido de paso único.
  • Mide las medidas del código fuente escrito en C ++, C, C #, VB.NET, Java, Delphi, Visual Basic (VB6) o HTML.
  • Incluye métodos y métricas de nivel de función para C ++, C, C #, VB.NET, Java y Delphi.
  • Guarda las métricas en los puntos de control para comparar durante los proyectos de desarrollo de software.
  • Muestra e imprime métricas en tablas y gráficos.
  • Funciona dentro de una GUI de Windows estándar o dentro de sus scripts utilizando archivos de comandos XML.
  • Exporta métricas a archivos XML o CSV (valores separados por comas) para su posterior procesamiento con otras herramientas.

Para .NET junto a NDepend que es simplemente la mejor herramienta, puedo recomendar vil .

Las siguientes herramientas pueden realizar análisis de tendencias:



Para Java puede probar nuestra herramienta, QualityGate que computa más de 60 métricas de código fuente, rastrea todos los cambios a través del tiempo y también proporciona una calificación general para la mantenibilidad del código fuente.


Para Python, pylint puede proporcionar algunas métricas de calidad de código.


Para Visual Studio .NET (al menos C # y VB.NET), creo que StudioTools es extremadamente útil para las métricas. También agrega una serie de características que se encuentran en herramientas comerciales como ReSharper .


Recomendaría Code Metrics Viewer Exention para visual studio.

Es muy fácil analizar la solución de una vez, también hacer una comparación si progresó ;-)

Lea más here sobre las here


Si buscas un análisis de tendencias, ¿realmente significa algo más allá de SLOC?

Incluso si solo hace un grep por los puntos y comas posteriores y cuenta el número de líneas devueltas, lo que busca es consistencia en la técnica de medición SLOC. De esta forma, la medición de hoy se puede comparar con la medición del mes pasado de una manera significativa.

Realmente no puedo ver lo que daría una tendencia de McCabe Cyclometric Complexity? Creo que CC debería usarse más para obtener una instantánea de la calidad para proporcionar comentarios a los desarrolladores.

Editar: Ooh. Solo pensé en un par de otras medidas que podrían ser útiles. Comentarios como un porcentaje de SLOC y cobertura de prueba. Ninguno de los cuales quieres dejar escapar. Volver a adaptar cualquiera de estos nunca es tan bueno como hacerlos "en el calor del momento".

HTH.

aclamaciones,

Robar


Si está en el espacio .NET, CodeRush Developer Express proporciona LOC, Cyclomatic Complexity y el (bastante excelente, en mi humilde opinión) análisis de complejidad de mantenimiento del código en tiempo real.

(Perdón por el enlace de Complejidad de Mantenimiento, va a la caché de Google. El original parece estar fuera de línea).


También estaba buscando una herramienta / plugin de métricas de código para mi IDE pero, hasta donde yo sé, no hay ninguno (para eclipse) que también muestra un gráfico de la complejidad en un período de tiempo específico. Sin embargo, encontré el plugin Eclipse Metrics , que puede manejar:

  • La complejidad ciclomática de McCabe
  • Acoplamientos eferentes
  • La falta de cohesión en los métodos
  • Líneas de código en método
  • Numero de campos
  • Número de niveles
  • Número de lugareños en el alcance
  • Cantidad de parámetros
  • Número de declaraciones
  • Métodos ponderados por clase

Y al usarlo, no me perdí la opción de gráficos que está buscando también.
Creo que, si no encuentra ningún complemento / herramienta que pueda manejar la representación gráfica a lo largo del tiempo, debe buscar la herramienta que más le convenga y le ofrece toda la información que necesita; incluso si la información dada es solo para la versión actual de su proyecto.

Como nota al margen, el plugin Eclipse Metrics le permite exportar los datos a un archivo externo (el enlace va a un ejemplo), por lo tanto, si usa una herramienta de control de fuente, ¡y usted debería! Siempre puede exportar los datos para el específico construya y almacene el archivo junto con el código fuente, de esa manera usted todavía tiene una manera (básica) de retroceder en el tiempo y verificar las diferencias.



tenga en cuenta que lo que mide es lo que obtiene. loc no dice nada sobre la productividad o la eficiencia.

califica a un programador por líneas de código y obtendrás ... líneas de código. el mismo argumento vale para otras métricas.

otoh .. http://www.crap4j.org/ es una medida muy conservadora y útil. establece la complejidad en relación con la cobertura.





Project Code Meter proporciona un informe de historial de desarrollo diferencial (en formato Excel) que muestra sus métricas de progreso de codificación en SLOC, tiempo y porcentaje de productividad (su estimación de tiempo se basa en la complejidad ciclomática y otras métricas). Luego, en Excel, puede generar fácilmente el gráfico que desea.

vea este artículo que lo describe paso a paso: http://www.projectcodemeter.com/cost_estimation/help/FN_monsizing.htm


Scitools ''Understand tiene la capacidad de generar una gran cantidad de métricas de código para usted. No tengo mucha experiencia con las características de métricas de código, pero las características de análisis estático en general fueron agradables y el precio fue muy razonable. El apoyo fue excelente.