Recientemente comencé a usar SourceMonitor para revisar mi código (y otros). Aunque entiendo otros parámetros juzgados por la herramienta, no sé cómo se calcula la complejidad del código. Como en, ¿qué parámetros considera leer para un número de complejidad?¿Cuáles son los parámetros utilizados para calcular la complejidad en SourceMonitor?
Respuesta
La encontré en Ayuda -> Temas de ayuda -> Explicación del lenguaje Métricas -> C# -> Complejidad máxima del método -> (Hay un hiperling) Complejidad.
Source Monitor Complexity Value http://tinypic.com/r/10yi0kp/6
Es difícil saber sin que lo indiquen, pero una de las medidas más comunes es cyclomatic complexity - una medida del número de rutas a través del código. Un método de procedimiento simple de arriba a abajo tiene complejidad 1, con todos los bucles/ramas/capturas, etc., que se suman a esto. La idea es que si esto crece demasiado, su método está haciendo demasiado y debería refactorizarse en algunos métodos más pequeños y más específicos.
Editar; from here:
Se ha agregado un analizador para C#. La mayoría de las métricas son similares a C++ y Java. La principal diferencia es cómo se determina el método "más grande". En lugar de identificar el método con la mayoría de las declaraciones, para C# se encuentra el método más complejo para cada archivo. La medición de la complejidad es similar a Complejidad ciclomática - un recuento de las posibles vías a través del código.
(énfasis mío) por lo que parece que tienen una variante ligeramente modificada de CC normal. Solo ellos pueden decirle lo que hicieron diferente; p
- 1. ¿Cuáles son los requisitos para los parámetros de plantilla C++?
- 2. ¿Cuáles son las garantías de complejidad de los contenedores estándar?
- 3. Calcular Complejidad Ciclomática para Javascript
- 4. ¿Cuáles son los parámetros para "printto" usando shellexecute?
- 5. ¿Cuáles son los parámetros para el método Salesforce WebServiceCallout.invoke?
- 6. Analizar proyecto usando Sourcemonitor
- 7. ¿Cuáles son los parámetros enviados a .fail en jQuery?
- 8. ¿Cuáles son estos tres puntos en los tipos de parámetros
- 9. ¿Cuáles son los parámetros pasados a cvFindContours() en JavaCV?
- 10. ¿Cuáles son los criterios para elegir un algoritmo de clasificación?
- 11. ¿Cuáles son los argumentos para main() para?
- 12. ¿Cuáles son los lenguajes de programación para GPU
- 13. ¿Cuáles son los parámetros de la URL? (elemento en la posición # 3 en el resultado urlparse)
- 14. ¿Cuáles son los comandos más útiles vim/utilizados en C/C++ entorno de desarrollo
- 15. ¿Cuáles son los argumentos para sysctl()?
- 16. PHP: $ _SESSION - ¿Cuáles son los pros y los contras de almacenamiento de datos utilizados temporalmente en la variable de $ _SESSION
- 17. ¿Cuáles son algunos ejemplos de la vida real de patrones de diseño utilizados en el software
- 18. ¿Cuáles son estos parámetros adicionales en mis métodos ASMX Proxy?
- 19. ¿Cuáles son los nuevos marcos?
- 20. ¿Cuáles son los pasos para depurar la aplicación web Java?
- 21. ¿Cuáles son los valores de uso/parámetros correctos para HoughCircles en OpenCV para la detección de Iris?
- 22. No puedo entender realmente cuáles son los parámetros para construir tcp :: resolver :: query
- 23. ¿Cuáles son todos los códigos cortos para los comandos svn?
- 24. ¿Cuáles son los caracteres válidos para los nombres de macro?
- 25. definiendo parámetros no utilizados en C
- 26. ¿Cuáles son los complementos necesarios en VIM para látex?
- 27. ¿Cuáles son los métodos para tokenizar cadenas en .Net?
- 28. ¿Cuáles son los valores predeterminados para @property en iOS?
- 29. ¿Cuáles son los formatos admitidos en AVAudioRecorder para grabar sonido?
- 30. ¿Cuáles son los contenedores en Java