Kommentare in PowerShell


    Tags:

    Kommentar in PowerShellSelbst einfachste Script-Sprachen wie der Batch-Interpreter von cmd.exe sehen vor, dass Autoren ihren Code mit Hilfe von Kommentaren beschreiben. Erwartungsgemäß bietet auch PowerShell diese Möglichkeit, und zwar in Form von einzeiligen und Block-Kommentaren.

    PowerShell ist aufgrund seiner Namenskonvention für Cmdlets (Verb-Noun, Großbuchstaben gemäß Pascal Casing) und seiner selbstdokumentierenden Befehlswörter eine gut lesbare Sprache. Kryptischer Code wie etwa in Perl ist daher kaum möglich, es sei denn, man verwendet reichlich Aliases. Deren Einsatz in Scripts widerspricht aber den Best Practices von PowerShell, weil nicht gewährleistet ist, dass sie auf allen Rechnern definiert sind.

    Für gute Lesbarkeit sorgen

    Aus diesem Grund wird man in den seltensten Fällen Kommentare benötigen, die erklären, was ein bestimmter Code macht. Vielmehr sollte man seine Scripts mit solchen Anmerkungen dokumentieren, die erläutern, welches Ziel bestimmte Funktionen oder Code-Blöcke verfolgen (also die Intention des Autors erkennbar machen).

    Reichen kurze Erläuterungen aus, so wird man sich dafür einzeiliger Kommentare bedienen. Zu diesem Zweck stellt man dem Text ein Hash-Zeichen voran, also zum Beispiel

    Get-ADUser -Filter "Surname -like 'Ber*'"
    # User-Objekte aus dem AD anzeigen, deren Nachname mit "Ber" beginnt

    Der besseren Lesbarkeit willen sollte man auch kurze Kommentare in eine eigene Zeile schreiben und nicht an den Code anhängen. Zu bedenken ist außerdem, dass ungünstig platzierte Kommentare in der PowerShell_ISE aufgrund der Syntaxhervorhebung zwar passabel aussehen mögen, aber in einem normalen Texteditor unübersichtlich wirken können.

    Mehrzeilige Kommentare

    Bei längeren Erklärungen, etwa am Anfang eines Scripts oder einer Funktion, die sich über mehrere Zeilen erstrecken, muss man nicht jeder von ihnen ein # voranstellen. Seit der Version 2.0 unterstützt PowerShell nämlich Kommentarblöcke:

    <# Dies ist ein
    mehrzeiliger
    Kommentar #>

    Während sich Microsoft also beim einfachen Kommentarzeichen an anderen Sprachen wie Unix-Shells oder Python orientiert, geht es bei Blockkommentaren eigene Wege. Der von Javascript oder PHP bekannte /* Kommentar */ ist nicht zulässig.

    Keine Kommentare