Existe-t-il une norme permettant d'afficher et de masquer facilement le contenu?

StackOverflow https://stackoverflow.com/questions/827711

  •  06-07-2019
  •  | 
  •  

Question

  • Utilisez-vous des commentaires ou des blocs de code pour afficher ou masquer rapidement le contenu?
  • Quelles méthodes utilisez-vous couramment?
  • Existe-t-il une norme acceptée?
  • Certaines méthodes devraient-elles être évitées? C'est-à-dire qu'ils pourraient être mal interprétés par certains moteurs?
  • Existe-t-il une alternative ou une meilleure solution à cela?

Standard : c’est ce que j’utilise pour couvrir la plupart des langages: CSS, JavaScript, PHP, ActionScript

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

HTML

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

PHP - Définir quelque chose comme $ hide fonctionne bien, d'autres variables peuvent être la production ou le développement - les dalles volumineuses peuvent ensuite être masquées et affichées avec un simple changement de variable.

if(0){ hidden }
if(1){ visible }
if(!$HIDE){ content } // $HIDE defined elsewhere, visible if undefined
Était-ce utile?

La solution

Je pense que si vous pouvez contrôler par programme ce qui est rendu, c'est mieux (comme ce que vous avez fait dans PHP). Une solution encore meilleure que ce que vous avez écrit (essentiellement une macro de préprocesseur local) consiste à fractionner votre code de rendu en fonctions générant des sous-parties des documents. Si vous n'en avez pas besoin, vous ne l'appelez pas et le code contient une condition claire. C'est par exemple la façon dont MediaWiki est écrit. Sinon, dans les projets complexes, cela devient un gâchis.

Il existe de nombreux risques pour coder en dur la sortie de commentaire en code. Parmi eux:

  • Très facile de gâcher le commentaire

  • Ce qui a été commenté n'est pas clair.

  • Problème lorsque les sections commentées se chevauchent

  • Couper et coller des erreurs

  • Tout ce que vous vouliez masquer est toujours accessible, affecte les moteurs de recherche, etc.

Autres conseils

/*
Commented
// */

//*
Not commented
// */

Certaines personnes m'ont dit que la bonne façon de commenter des sections de C ++, puisque nous n'utilisons apparemment plus de préprocesseur, consiste à utiliser une instruction if .

if(false)
{
    chunk of code;
}

La théorie étant que le compilateur optimisera ce code mort par rapport au produit final. Ils peuvent être imbriqués, ce que les commentaires de style / * * / ne peuvent pas faire.

Cette théorie est fausse, bien sûr, car vous ne pouvez pas l'utiliser pour commenter des régions de code arbitraires, par exemple:

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

D'autre part, cela fonctionne parfaitement pour des langages tels que python qui autorisent n'importe quelle instruction dans n'importe quel bloc et qui manquent également d'un préprocesseur standard ou de commentaires de bloc.

Je préfère utiliser un éditeur de texte qui comprend la structure du texte source que je modifie ( Vim . et Emacs sont les favoris vénérables), et que peut replier le code sur la base de la structure analysée par l'éditeur.

Vim fold ou Le pliage Emacs répond à ce besoin pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top