Windows PowerShell

Programmierung Keine Kommentare »

Um mittels NaturalDocs automatisch eine Dokumentation zu erstellen, muss auf der Kommandozeile eine ganze Latte an Argumenten übergeben werden: Das Verzeichnis, in dem der zu dokumentierende Quelltext steht, das Ausgabeverzeichnis für die Doku und ein Verzeichnis für die Konfiguration. Praktisch sieht ein Aufruf von NaturalDocs bei mir ungefähr so aus:

F:\Software\NaturalDoc\NaturalDocs.bat -i c:\xampp\htdocs\meinProjekt -o HTML c:\xampp\htdocs\meinProjekt\_dokumentation\output -p c:\xampp\htdocs\meinProjekt\_dokumentation\config -cs UTF-8

So einen Aufruf automatisiert man doch. Also mal schnell eine kleine .bat-Datei geschrieben - und dabei festgestellt, dass ich a) die Syntax gar nicht mehr drauf habe (unter DOS habe ich regelmäßig Batch-Dateien geschrieben) und b) die guten alten .bat-Dateien sowas von beschränkt sind…

Daher habe ich mir die Windows PowerShell 1.0 herunter geladen. Startet man die PowerShell, sieht sie auf den ersten Blick genau so aus, wie die gute alte cmd.exe in blau. Aber davon darf man sich nicht täuschen lassen - das Teil ist mächtig. Richtig mächtig.

Die integrierte Skriptsprache hat erstmal alle Basics an Bord - arithmetische Operationen, reguläre Ausdrücke, Schleifen, Fallunterscheidungen, … Wem das nicht reicht, kann immer noch analog zu WSH-Skripten sämtliche COM- und ActiveX-Objekte nutzen. Und wenn man dort an die Grenzen stößt - es stehen auch alle Klassen und Funktionen des .NET-Frameworks zur Verfügung. Es dürfte sich eigentlich keine Automatisierung finden, die nicht mittels Windows PowerShell gelöst werden könnte.

Ich werde mich jedenfalls mal so richtig intensiv mit der Shell beschäftigen. Ergebnisse hier ;)

Quellcode dokumentieren mit NaturalDocs

Programmierung Keine Kommentare »

Heute habe ich mich mal auf die Suche nach einem Software-Dokumentationswerkzeug gemacht, das aus Quellcodekommentaren automatisch eine Dokumentation erstellt. Da ich verschiedene Sprachen zum Entwickeln verwende (angefangen beim guten alten PHP bis hin zu den ersten Gehversuchen in C#) wäre ein Tool, das verschiedene Programmiersprachen unterstützt, sehr willkommen.

Gefunden habe ich zwei Kandidaten: Doxygen und Natural Docs. Hängen geblieben bin ich bei Natural Docs, das auf die sonst üblichen, von JavaDoc bekannten Dokumentationsdirektiven (@author etc) verzichtet und eher auf “natürliche” Sprache setzt:

  1. /*
  2.    Function: Multiply
  3.  
  4.    Multiplies two integers.
  5.  
  6.    Parameters:
  7.  
  8.       x - The first integer.
  9.       y - The second integer.
  10.  
  11.    Returns:
  12.  
  13.       The two integers multiplied together.
  14.  
  15.    See Also:
  16.  
  17.       <Divide>
  18. */
  19. int Multiply (int x, int y)
  20.    {  return x * y;  };

Mal schauen, wie es sich in der Praxis schlägt :)