Domanda

  • Attiva o disattiva i commenti o le lastre di codice per mostrare o nascondere rapidamente i contenuti?
  • Quali sono alcuni metodi comuni che usi?
  • Esiste uno standard accettato?
  • Alcuni metodi dovrebbero essere evitati? cioè potrebbero essere male interpretati da alcuni motori?
  • Esiste una soluzione alternativa o migliore a questo?

Standard - Questo è quello che uso per coprire la maggior parte delle lingue: CSS, JavaScript, PHP, ActionScript

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

HTML

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

PHP - Definire qualcosa come $ hide funziona bene, altre variabili potrebbero essere di produzione o di sviluppo - le lastre di grandi dimensioni possono quindi essere nascoste e mostrate insieme con una semplice modifica della variabile.

if(0){ hidden }
if(1){ visible }
if(!$HIDE){ content } // $HIDE defined elsewhere, visible if undefined
È stato utile?

Soluzione

Penso che se puoi controllare a livello di codice ciò che viene reso, è meglio (come quello che hai fatto nel PHP). Una soluzione ancora migliore di quella che hai scritto (essenzialmente una macro di preprocessore locale) è quella di suddividere il codice di rendering in funzioni che generano parti secondarie dei documenti. Se non ti serve, non lo chiami e hai una chiara condizione nel codice. Questo è, ad esempio, il modo in cui è scritto MediaWiki. Altrimenti, in progetti complessi, diventa un casino.

Esistono molti rischi nel codificare il commento nel codice. Tra questi:

  • Molto facile rovinare il non commentante

  • Non è chiaro ciò che è stato commentato.

  • Problema quando le sezioni commentate si sovrappongono

  • Errori taglia e incolla

  • Tutto ciò che volevi nascondere è ancora accessibile, influenza i motori di ricerca, ecc.

Altri suggerimenti

/*
Commented
// */

//*
Not commented
// */

Alcune persone mi hanno detto che il modo corretto di commentare sezioni di C ++, dal momento che apparentemente non usiamo più il preprocessore è usare un'istruzione if .

if(false)
{
    chunk of code;
}

La teoria è che il compilatore ottimizzerà quel codice morto dal prodotto finale e possono essere nidificati, cosa che i commenti di stile / * * / non possono fare.

Questa teoria è falsa, ovviamente, perché non puoi usarla per commentare regioni arbitrarie di codice, ad esempio:

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

D'altra parte, funziona perfettamente con linguaggi come Python che consentono qualsiasi istruzione in qualsiasi blocco e che mancano anche di un preprocessore standard o di commenti di blocco.

Preferisco usare un editor di testo che comprenda la struttura del testo sorgente che sto modificando ( Vim e Emacs sono i venerabili favoriti) e che può eseguire la piegatura del codice sulla base della struttura analizzata dall'editor.

O Vim folding o Emacs pieghevole soddisfa questa esigenza per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top