Cake.Compression AddIn

Cake (C# Make) ist ein plattformübergreifendes Build Automatisierungssystem, welches es dank seiner umfangreichen API ermöglicht, einfache bis komplexe Build Skripte schnell zu erstellen. Man kann die Skripte auch durch eigene oder vorhandene AddIns erweitern.

Für ein Skript benötige ich die Möglichkeit GZip Archive zu erstellen. Von Haus aus bietet Cake jedoch nur die native .Net Zip Funktionalität an und es gab auch kein entsprechendes AddIn. Daher habe ich auf Basis der SharpZipLib das Cake.Compression AddIn erstellt, welches Funktionalität für die Erstellung von (Tar) BZip2, GZip und Zip Archiven bietet.

Das Package ist über NuGet und der Quellcode über GitHub/Bitbucket verfügbar.

Codeanalyse Tools Atomiq und Nitriq

Codeanalyse Tools sind bei der Software Entwicklung sehr hilfreich, den sie können auf Schwächen aufmerksam machen, die auf den ersten Blick nicht gleich erkennbar sind. Mit Atomiq und Nitriq gibt es zwei dieser hilfreichen Tools als Freeware.

Atomiq analysiert den Code auf Duplikate, die oft durch Copy & Paste enstehen, und unterstützt neben Visual C# und Visual Basic auch Sprachen wie Java, Phyton, Ruby oder ActionScript3.

Nitirq ist ein leistungsfähiges Tool für Code-Reviews, das Hilft die Codebasis zu verstehen, Typen und Methoden zu finden die refaktorisiert werden sollten, benutzerdefinierte Metriken zu erstellen und den Einsatz von Best Practices durchzusetzen.

Leider lassen sich die beiden Tools ab Windows 8 nicht mehr starten bzw. installieren. Sie werden seit Mitte 2012 auch nicht mehr weiter entwickelt und der Entwickler reagiert auch nicht auf E-Mails. Ich habe etwas experimentiert und es ist mir gelungen den Code, so gut es geht, wiederherzustellen. Den Sourcecode der beiden Projekte habe ich auf Bitbucket und GitHub zur Verfügung gestellt. Vielleicht hat jemand Interesse diese Tools im Rahmen eines OpenSource Projektes weiter zu entwickeln.

Atomic Sourcecode: Bitbucket | GitHub
Nitriq Sourcecode: Bitbucket | GitHub

Templates und Snippets für Visual Studio

Als Programmierer versucht man sich die täglich Arbeit zu erleichtern und wiederkehrende Abläufe zu automatisieren, wo es nur geht. Wieso immer eine Methode „zu Fuss“ schreiben, wenn man sie einfach mit einem Kurzbefehl einfügen kann? Oder warum immer eine Klasse anpassen, wenn eine Vorlage sie bereits so erstellen kann, wie man es möchte.

Für die Arbeit mit Visual Studio verwende ich auch eine Reihe selbst erstellter Templates und Snippets, die mir die Arbeit einfacher macher und Zeit sparen. Diese habe ich jetzt als OpenSource Projekt veröffentlicht. Das Repository steht bei Bitbucket und GitHub zur Verfügung.

GitHub Markdown Tipp

Auf GitHub kann man die Readme-Dateien bekanntlich in Markdown verfassen. Da ich mich noch mit Markdown vertraut mache, hatte ich so meine Anlaufschwierigkeiten.

Vor das erste Problem stellte mich ein einfacher Zeilenumbruch. Ein einfaches return oder ein \n brachten leider nicht das gewünschte Ergebnis. Nach etwas Suchen bin ich dann schließlich fündig geworden. In Markdown erzeugen zwei oder mehr Leerzeichen am Ende einer Zeile einen Zeilenumbruch.

Das zweite Problem war die Darstellung des #-Zeichens am Ende einea Markdown-Headers. In Markdown wird ein Header mit dem #-Zeichen eingeführt. Endet der Satz ebenfalls mit einem #-Zeichen (z.B. Examples in C#), wird es nicht angezeigt. Abhilfe schafft auch hier ein Leerzeichen am Ende der Zeile und der Satz wird korrekt angezeigt.