Ich habe vor kurzem begonnen, SourceMonitor zu verwenden, um meinen (und anderen) Code zu überprüfen. Obwohl ich andere Parameter verstehe, die vom Tool beurteilt werden, weiß ich nicht, wie es die Komplexität des Codes berechnet. Wie in, was alle Parameter betrachtet es zu einer Komplexität Nummer lesen?Welche Parameter werden zur Berechnung der Komplexität in SourceMonitor verwendet?
Antwort
Fand es in Hilfe -> Hilfe -> Erklärung der Sprache Metrics -> C# -> Max Methode Komplexität -> (Es gibt einen hyperling) Komplexitätswert.
Source Monitor Complexity Value http://tinypic.com/r/10yi0kp/6
Es ist schwer zu wissen, ohne sie anzugeben, aber eine der häufigsten Maßnahmen ist cyclomatic complexity - ein Maß für die Anzahl der Routen durch Code. Eine einfache Prozedur von oben nach unten hat Komplexität 1, wobei alle Schleifen/Verzweigungen/Fänge usw. dazukommen. Die Idee ist, dass, wenn dies zu hoch wird, Ihre Methode zu viel macht und in ein paar kleinere, zielgerichtetere Methoden umgestaltet werden sollte.
Bearbeiten; from here:
Ein Parser für C# wurde hinzugefügt. Die meisten Metriken ähneln C++ und Java. Der Hauptunterschied besteht darin, wie die "größte" Methode ermittelt wird. Anstatt die Methode mit den meisten Anweisungen zu identifizieren, wird für C# die komplexeste Methode für jede Datei gefunden. Die Komplexitätsmessung ähnelt Cyclomatic Complexity - eine Zählung der möglichen Pfade durch den Code.
(Betonung meiner) so klingt es wie sie eine leicht modifizierte Variante der regulären CC haben. Nur sie können Ihnen sagen, was sie anders tat; p
- 1. Komplexität Berechnung
- 2. , die Einheit zur Berechnung Abstand in MongoDB verwendet
- 3. DLIB: welche Eingabeargumente in draw_rectangle verwendet werden()
- 4. Welche Parameter werden verwendet, wenn .addActionListener() aufgerufen wird?
- 5. Woher weiß Swift zur Laufzeit, welche Implementierung verwendet werden soll?
- 6. Berechnung der Komplexität von Zeitbereichen in lazy evaluated languages
- 7. Algorithmus zur Schätzung der Komplexität von Wörtern
- 8. Einige Fragen zur Komplexität
- 9. Welche String-Klassen werden in C++ verwendet?
- 10. scipy.stats.binned_statistcs zur Berechnung der Standardabweichung
- 11. Welche Datenstruktur soll verwendet werden?
- 12. Welche Textboxereignisse sollten verwendet werden
- 13. Neo4j - Komplexität der Suche nach indexierten Parameter
- 14. Welche Merge-Strategien werden verwendet?
- 15. Was ist die asymptotische Komplexität dieses speziellen (schlechten) Algorithmus zur Berechnung der Quadratwurzel einer Zahl?
- 16. Welche Komplexität erfordert ein Framework?
- 17. Wie interpretieren Code-Metriken (berechnet von SourceMonitor)
- 18. Welche Syntax sollte für WebMessageBodyStyle.Wrapped verwendet werden?
- 19. Algorithmus zur RFC-Berechnung in Java
- 20. Welche Datenstrukturen werden in Voltdb verwendet?
- 21. Welche Technologien werden in den Texteditoren der Blogger-Typen verwendet?
- 22. JS-Funktion zur Berechnung der Komplementärfarbe?
- 23. Schnellste Möglichkeit zur Berechnung der Verzeichnisgrößen
- 24. Welche Arten von schriftlichen Designdokumenten werden in DDD-Projekten verwendet?
- 25. Wichtige Themen in der Theorie der Berechnung
- 26. Welche Test-Frameworks werden für Rails verwendet?
- 27. Algorithmus zur Berechnung Binomialkoeffizient
- 28. GPS V.S. Beschleunigungssensor zur Berechnung der Entfernung
- 29. Häufigste Methode zur Berechnung der Linienkreuzung C++?
- 30. Shell-Skript zur Berechnung der verstrichenen Zeit