2008-02-27 Codeteile mit Kommentaren schnell ein- und ausschalten

English Version also available

Ich dachte eigentlich den Trick kennt schon jeder, da ich ihn selbst seit vielen Jahren immer wieder nutze. Scheinbar aber nicht.

Daher hier ein kleiner Trick der mir beim täglichen coden immer wieder gute Dienste leistet. Da ich keinen expliziten Namen dafür kennen nenne ich das mal "Schalterkommentare".

Beim arbeiten an Programmcode kommt es sehr häufig vor, dass man Codeteile regelmäßig ein- und ausschalten muss.

Dazu kann man die gewünschten Zeilen mit einem // oder einem /**/ Kommentar immer wieder ein- und auskommentieren.

Bei längeren Codepassagen kann das schon mal etwas dauern und bei häufigen umschalten etwas/ziemlich nerven.

Fasst man den Codeblock aber in einen "Schalterkommentar" ein kann man ihn nur durch das ändern eines einzigen Zeichen komplett aus dem Verkehr nehmen und wieder zurück.

Schalterkommentare sind eine Mischung aus Einzeiligen und Mehrzeiligen Kommentaren. Eingeleitet werden sie mit: //* und mit // */ wieder beendet. Code der so eingefasst ist, ist voll funktionsfähig. Entfernt man nun den einen der / vom einleitenden Kommentar wird der gesamte Block deaktiviert.

Hier der Beispielcode:

Kommentar aktiv:


demo = {
    /*
    someTest.Javascript();
    toDemonstrate = 'how Easy';
    // */

    it.is('to make Code appear');
    and = ['disappear','again'];
    this.isVeryUseful('indeed');
};
 
Kommentar inaktiv:

demo = {
    //*
    someTest.Javascript();
    toDemonstrate = 'how Easy';
    // */
    it.is('to make Code appear');
    and = ['disappear','again'];
    this.isVeryUseful('indeed');
};
 

CSS fällt wegen der fehlenden Unterstützung für // Kommentare leider raus, Javascript, PHP und viele andere kommen damit aber wunderbar zurecht.

Update:
Mein Kollege Steve Webster brachte mich auf die logische Alternative fuer CSS:

Kommentar aktiv:


.test{
    border:1px solid red;
    /*/
    background-color:blue;
    /**/

    margin:1em;
}
 
Kommentar inaktiv:

.test{
    border:1px solid red;
    /**/
    background-color:blue;
    /**/
    margin:1em;
}
 

Trackbacks

No Trackbacks

Comments

No comments

Add Comment