This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: Code Analysis als Hilfsmittel
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
In meinem Beitrag Eigenen Code analysieren hatte ich bereits über Code Analysis berichtet. An dieser Stelle möchte ich diesen wichtigen Part noch einmal in Erinnerung rufen.
Visual Studio besitzt bereits eine integrierte Code Analyse und jede Menge Regeln, die beim Aufruf der Code Analysis aufgerufen werden. Von vielen als störend abgetan, besitzt die regelmäßige Analyse jedoch durchaus seine Berechtigung.
Die Einstellungen zur Analyse können in den Projekteigenschaften vorgenommen werden.
Wird der Compiler-Schalter CODE_ANALYSIS aktiviert, wird die Analyse bei jedem Kompilierungs-Vorgang ausgeführt. Wer dies möchte, kann die Analyse auch manuell starten. Hierzu ist das Kontext-Menü eines Projektes zu öffnen und Run Code Analysis aufzurufen.
In einigen Fällen kann es vorkommen, dass bei Durchsicht des Codes, dieser als korrekt definiert wird, obwohl durch die Code Analyse eine Warnung ausgegeben wurde. Für derartige Fälle kann diese mit Hilfe des SuppressMessage-Attributes (SuppressMessageAttribute) unterdrückt werden.
Ein Beispiel möchte ich an dieser Stelle nicht vorenthalten.
Nun stellt sich eventuell noch die Frage, wofür Code Analysis denn eigentlich gut sein soll und welchen Nutzen man davon hat.
Je nach definierten Regeln (idealerweise sollten alle Regeln aktiviert sein), werden Hinweise auf undokumentierte Stellen gegeben, unsichere Codestellen entdeckt, auf obsolete Klasse hingewiesen und weitere Hilfestellungen gegeben. Vor allem Sourcecode-Kommentare sollte in gesundem Maße durchgeführt werden, auch wenn manche Statistiken behaupten, dass sich die meisten Fehler gerade in gut dokumentierten Stellen befinden bzw. "guter" Sourcecode keiner Dokumentation bedarf. Dennoch sollten derartige Hinweise ernst genommen und Warnungen aus der Analyse gering gehalten werden.