2009-05-06 7 views
2
  • Sie können Kommentare oder Code-Blöcke umschalten, um Inhalte schnell ein- oder auszublenden?
  • Was sind einige gebräuchliche Methoden?
  • Gibt es einen akzeptierten Standard?
  • Sollten einige Methoden vermieden werden? dh konnten sie von einigen Motoren falsch interpretiert werden?
  • Gibt es eine alternative oder bessere Lösung?

Standard- - Das ist, was ich verwenden die meisten Sprachen abdecken: CSS, JavaScript, PHP, ActionscriptGibt es einen Standard zum einfachen Anzeigen und Ausblenden von Inhalten?

/**/ visible /**/ 
/**\/ hidden /**/ 

HTML

<!----> visible <!----> 
<!----/> hidden <!----> 

PHP - Definition von etwas Wie $ hide funktioniert gut, andere Variablen könnten Produktion oder Dev - große Platten können dann ausgeblendet werden und zusammen mit einer einfachen Variablenänderung gezeigt.

if(0){ hidden } 
if(1){ visible } 
if(!$HIDE){ content } // $HIDE defined elsewhere, visible if undefined 
+0

Nicht sicher, warum diese Frage abgelehnt wurde? –

Antwort

2

Ich glaube, dass, wenn Sie programmatisch steuern können, was gemacht wird, das am besten ist (wie das, was Sie in der PHP-tat). Eine noch bessere Lösung ist, dass das, was Sie geschrieben haben (im Wesentlichen ein lokaler Präprozessor-Makro), Ihren Rendering-Code in Funktionen aufteilt, die Unterbereiche der Dokumente erzeugen. Wenn Sie es nicht brauchen, rufen Sie es nicht an, und Sie haben eine klare Bedingung im Code. Dies ist beispielsweise die Art wie MediaWiki geschrieben wird. Ansonsten wird es in komplexen Projekten zu einem Durcheinander.

Es gibt viele Risiken, den Code im Code hart zu codieren. Unter ihnen:

  • Sehr einfach zu vermasseln die Auskommentierung

  • nicht klar, was kommentiert wurde.

  • Problem, wenn Abschnitte überlappen

  • kommentiert aus
  • Ausschneiden und Einfügen Fehler

  • Alles, was Sie noch zugänglich ist, wirkt Suchmaschinen verstecken wollte, usw.

+0

Sie machen einige gute Fälle gegen die Vermeidung von Kommentaren, um Code zu verstecken. –

+0

Danke. Ich denke, dass die Verwendung von Kommentaren dafür im OOP-Code schlecht ist, obwohl ich zugeben muss, dass ich es selbst zu oft mache. Auf der anderen Seite, wenn ich einen zu großen Block auskommentiere, bedeutet das oft, dass ich die Funktion in mehrere Funktionen umgestalten und dann einige nicht aufrufen kann. – Uri

+0

Ich habe gerade festgestellt, dass ich diesen Kommentar fälschlicherweise so formuliert habe, dass es ein doppeltes Negativ ist. Ich meinte, Sie machen gute Argumente gegen Kommentare auf diese Art. Ja, deshalb interessiere ich mich für Alternativen, da ich weiß, dass es wahrscheinlich nicht das Beste ist, aber ich tue es immer. –

2
/* 
Commented 
// */ 

//* 
Not commented 
// */ 
0

Ich bevorzuge einen Texteditor, der die Struktur des Ausgangstextes, den ich bearbeite, versteht, und der Code kann auf der Basis falten ist von Struktur wie vom Herausgeber geparst.

Entweder Vim oder Emacs falten erfüllt dieses Bedürfnis für mich.

1

Ich wurde von einigen Leuten gesagt, dass die richtige Art, Teile von C++ zu kommentieren, da wir anscheinend den Präprozessor nicht mehr benutzen, eine if Anweisung ist.

if(false) 
{ 
    chunk of code; 
} 

Die Theorie ist, dass der Compiler, dass die toten Code aus dem Endprodukt optimieren, und Sie können verschachtelt werden, was /* */ Stil Kommentare nicht tun können.

Diese Theorie Schein ist natürlich, weil Sie es nicht verwenden können, um beliebige Bereiche des Codes auf Kommentar, zum Beispiel:

class Foo 
{ 
    void Bar(); 
    if(false) 
    { 
     int Baz(double); // WRONG!!! 
    } 
}; 

Auf der anderen Seite, das funktioniert perfekt für Sprachen wie Python, dass Erlaube jede Anweisung in irgendeinem Block, und außerdem fehlt ein Standard-Präprozessor oder blockiere Kommentare.