Nette Lektüre zu Software-Metriken

Heute Morgen habe ich auf dem Weg zur Arbeit in einer älteren Ausgabe des Magazins „dotnet pro“ geschmökert und bin auf einen interessanten Artikel von Ralf Westphal aufmerksam geworden. Darin dreht es sich um die Erhebung von Metriken (in der Software-Entwicklung).

Er zog Parallelen zum Geschmackstest zwischen Pepsi und Coca Cola; das Ergebnis dieses „ersten-Schluck-Tests“ hatte Pepsi bei einer empirischen Messung festgestellt. Doch das Ergebnis wurde verfälscht, wenn man den Probanten statt einen Glas Pepsi Cola und einem Glas Coca Cola ein drittes Glas zum Probieren gab. In dem dritten Glas befand sich ebenfalls eine der beiden Cola-Marken und das Ergebnis der Probanten war plötzlich wieder anders.

Den Link aus dem Artikel über die Erhebung von Metriken bzw. den dahinter befindlichen Text fand ich äußerst interessant! Wer Zeit und Lust dazu hat, kann ihn sich auch gern mal durchlesen:

http://www.processimpact.com/articles/metrics_primer.html

Schon gewußt? Kleine freie Icon-Bibliothek im Visual Studio 2005-Ordner

Wie ich neulich im Buch „Windows Forms-Programmierung mit Visual C# 2005″* von Charles Petzold gelesen habe, gibt es doch tatsächlich im Verzeichnis von Visual Studio 2005 auf meiner Festplatte eine ZIP-Datei, die zahlreiche kleine nützliche Icons enthält.

Pfad: C:ProgrammeMicrosoft Visual Studio 8Common7VS2005ImageLibrary

Darin befindet sich die VS2005ImageLibrary.zip-Datei, die nach dem Auspacken >100 Icons enthält, die man kostenlos in den eigenen Programmen verwenden kann.

In jedem erzeugten Unterordner befindet sich zur Übersicht jeweils noch eine HTML-Datei, die die Icons anzeigt:

vs2k5_icons.png

* kann das Buch nur bedingt empfehlen. Es ist eher ein aufbauendes Werk zum Vorgänger „Windows Programmierung mit C#“, ebenfalls von Charles Petzold

Advanced Refactoring in C#: Resharper 2.5 for Visual Studio

resharper.png

Seit gestern teste ich die neue Version vom Resharper 2.5 für Visual Studio.

Zuerst habe ich mich gefragt: „Wozu brauche ich denn so ein Tool? Visual Studio (2005) kann doch Refactoring für C#-Projekte!“. Dass Visual Studio rudimentäre Funktionen bietet, den Code zu überarbeiten, war mir ja eigentlich klar. Wenn man wie ich aus der „Java-Welt“ kommt und lange Zeit mit eclipse (http://www.eclipse.org) gearbeitet hat, vermisst man doch noch einige Funktionen, die nun mit Resharper Einzug in die .NET-Welt halten.

Beispielsweise so Dinge wie „Optimize Usings“ oder „Reformat Code“ sind in eclipse selbstverständliche Dinge geworden. Auch QuickFixes, die eine schnelle Problemlösung bieten, war ich in eclipse gewohnt.

Neu in Version 2.5 ist beispielsweise die Funktion „Navigate From Here“, bei der man von einem Methodennamen direkt zur Deklaration oder Verwendungsstellen der Methode springen kann:

Besonders praktisch finde ich persönlich die Funktion zum Ausführen von Unit-Tests in Resharper:

Wenn ich eine Testfunktion mit dem Methodenattribut „[Test]“ versehen habe, dann erscheint am linken Rand des Editorfensters so ein grün/gelbes Boppel, von dem aus ich den Test direkt starten kann. Dasselbe geht natürlich auch mit eine ganzen TestSuite. Sehr schick!

resharper_features.png

Eine Übersicht über alle Features des Programms findet man hier: http://www.jetbrains.com/resharper/features/index.html

Fazit:
Ich kann das Programm eigentlich nur jedem C#-Entwickler ans Herz legen. Probiert einfach mal die kostenlose 30-Tage-Testversion aus und seht selbst, wie euch ReSharper bei der täglichen Entwicklungsarbeit unterstützt. Der Preis von 249$ (bis Ende Dezember nur 199$) sollte auch noch zu verkraften sein.

Update:
Auf der Seite http://www.jetbrains.com/specials/ kann man noch bis 11. Januar 2007 eine Version für 99$ kaufen, die allerdings nur auf eine Person – nicht auf eine Firma – registriert werden kann. Natürlich dürfen mit dieser Lizenz auch kommerzielle Projekte realisiert werden. Mehr Infos findet ihr auf der Seite!

Internetseite: http://www.jetbrains.com/resharper/index.html

Hardlinks und Junction Points

Endlich habe ich eine einfache Möglichkeit gefunden, sogenannte symbolische Links (oder „Junction Points“) einfach im Explorer anzuzeigen und anzulegen. (Wer nix mit dem Thema anfangen kann: http://de.wikipedia.org/wiki/Symbolischer_Link)

Die nachfolgenden Tools sind frei erhältlich und so kann ich sie jedem Admin und Programmierer wärmstens empfehlen. Die bei Microsoft erhältlichen kostenosen Tools „linkd.exe“, „mountvol.exe“ & Co. können diesen Tools leider nicht das Wasser reichen: http://support.microsoft.com/kb/205524/EN-US/

Shell-Extension zum Erstellen von HardLinks und Junction Points auf NTFS-Datenträgern:

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

Must-Have zu dem Thema: Tool zum Anzeigen von Junction Points und Hard-Links mit Overlay-Icons im Windows-Explorer:

http://www.paraesthesia.com/blog/comments.php?id=801_0_1_0_C

Tool zum Refactoring von C++-Code

Mehr oder weniger bin ich über die Seite von der Firma WholeTomato gestolpert, als ich mal wieder auf der Suche nach Updates meiner installierten Software war.

Deren Produkt „Visual Assist X“ (Kostenpunkt: ca. 150 US-$) unterstützt nun auch das Refactoring von C++-Code.

Beispiel: Rename

Beispiel: Umbenennen einer Methode oder einer Variable

Neben den quasi „Klassikern“ wie „Extract Method“ und „Rename“ gibt es noch eine Reihe weiterer nützlicher Features, die man unter folgender URL nachlesen kann:

http://www.wholetomato.com/products/featureRefactoring.asp

Das Tool unterstützt auch das Arbeiten mit C++-Code, indem es die Standard-Formatierung des Codes etwas aufpeppt. Also ich finde das Teil echt klasse und kann es jedem C++-Programmierer nur empfehlen!

Für C# allerdings würde ich eher zu ReSharper (Kostenpunkt: ca. 200 US-$) tendieren. Wenn man beides auf der selben Entwicklermaschine installiert und dann C# programmiert, dann gibt es ab und zu Probleme mit dem Intellisense-Fenster.

Problem mit MSDE: „Benutzer … ist keiner vertrauten SQL-Verbindung zugeordnet.“

Des öfteren hatte ich schon das Problem, dass ich eine MSDE (Microsoft SQL-Server Desktop Edition) meines SQL-Servers brauchte. Als ich dann auch dem Rechner mein Programm installierte, welches auf die Datenbank zugreift, und dieses startete, bekam ich die Fehlermeldung „Benutzer ‚xy‘ ist keiner vertrauten SQL-Verbindung zugeordnet.“.

Nachdem ich lange Zeit damit verbracht hatte, nach einer Lösung für dieses Problem zu googeln, bin ich auf einen Knowledge-Base Artikel von Microsoft aufmerksam geworden, der sich als äußerst hilfreich herausgestellt hatte.

Eigentlich ist es ganz einfach:

Man muss nur in der Registry den LoginMode des DB-Servers auf „2“ setzen. Dazu öffnet man den Registry-Editor (Kommandozeile: regedit). Anschließend geht man zum Schlüssel

HKLMSoftwareMicrosoftMSSqlserverMSSqlServerLoginMode

Dort legt man dann noch einen Hex-Wert „2“ an und startet den SQL-Server-Prozess neu.

Hier der Link zum KB-Artikel: http://support.microsoft.com/default.aspx?scid=kb;en-us;325022

Viel Spaß damit 🙂