Existe um padrão para mostrar facilmente e esconder conteúdo?
Pergunta
- Você alternância comentários ou placas de código para mostrar ou esconder rapidamente conteúdo?
- Quais são alguns métodos comuns que você usa?
- Existe um padrão aceito?
- Se alguns métodos devem ser evitados? ou seja, eles poderiam ser mal interpretada por alguns motores?
- Existe uma solução alternativa ou melhor para isso?
Padrão - Isto é o que eu uso para cobrir a maioria das linguagens: CSS, JavaScript, PHP, ActionScript
/**/ visible /**/
/**\/ hidden /**/
HTML
<!----> visible <!---->
<!----/> hidden <!---->
PHP - Definir algo como US $ hide funciona bem, outras variáveis ??poderiam ser a produção ou dev -. Grandes lajes podem ser escondidos e mostrados em conjunto com uma mudança de variável simples
if(0){ hidden }
if(1){ visible }
if(!$HIDE){ content } // $HIDE defined elsewhere, visible if undefined
Solução
Eu acho que se você pode controlar programaticamente o que está sendo processado, que é melhor (como o que você fez no PHP). Uma solução ainda melhor que o que você escreveu (essencialmente um pré-processador macro local) é realmente quebrar o seu código de processamento em funções que geram sub partes dos documentos. Se você não precisa dele, você não chamá-lo, e você tem uma condição clara no código. Isto é, por exemplo, a forma como MediaWiki está escrito. Caso contrário, em projetos complexos, torna-se uma confusão.
Há muitos riscos para o disco de codificação o comentário-out no código. Entre eles:
-
Muito fácil de estragar a descomentando
-
Não está claro o que foi comentado.
-
Problema quando comentou as seções sobreposição
-
Recortar e colar erros
-
Tudo o que você queria esconder ainda é acessível, afeta os motores de busca, etc.
Outras dicas
/*
Commented
// */
//*
Not commented
// */
Eu tenho dito por algumas pessoas que a maneira correta de comentar as seções de C ++, uma vez que, aparentemente, não use o pré-processador mais é usar uma instrução if
.
if(false)
{
chunk of code;
}
A teoria é que o compilador irá otimizar o código morto para fora do produto final, e eles podem ser aninhados, que comentários de estilo /* */
não pode fazer.
Essa teoria é falsa, é claro, porque você não pode usá-lo para comentar regiões arbitrárias de código, por exemplo:
class Foo
{
void Bar();
if(false)
{
int Baz(double); // WRONG!!!
}
};
Por outro lado, isso funciona perfeitamente para linguagens como Python que permitem que qualquer declaração em qualquer bloco, e que também não têm um padrão pré-processador ou bloquear comentários.
Eu prefiro usar um editor de texto que compreende a estrutura do texto fonte que eu estou editando ( Vim e Emacs são os favoritos veneráveis), e que pode fazer dobragem de código com base na estrutura, como analisado pelo editor.
De qualquer das Vim dobrar ou Emacs dobrar atende a essa necessidade para mim.