2009-05-06 8 views
2
  • コメントやスラブを切り替えてコンテンツをすばやく表示/非表示できますか?
  • よく使う方法は何ですか?
  • 標準はありますか?
  • いくつかの方法を避ける必要がありますか? つまり、いくつかのエンジンによって誤解される可能性がありますか?
  • これに代わる方法がありますか?

標準は - これは私がほとんどの言語をカバーするために使用するものです:CSS、JavaScriptやPHP、ActionScriptのコンテンツを簡単に表示したり隠すための標準はありますか?

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

HTML

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

PHP - 何かを定義します$ hideのようにうまくいけば、他の変数はプロダクションやデベロッパーになる可能性があります - 大きなスラブは隠すことができます1つの単純な変数の変更とともに表示されます。

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

なぜこの質問が投票されたのか分かりませんか? –

答えて

2

私はあなたがプログラム的にレンダリングされているかを制御することができた場合、それは(あなたがPHPで何をしたかのように)最高だと思います。あなたが書いたもの(本質的にはローカルプリプロセッサマクロ)が実際にレンダリングコードをドキュメントのサブ部分を生成する関数に分解することは、もっと良い解決策です。あなたがそれを必要としない場合、あなたはそれを呼び出さず、あなたはコード内に明確な条件を持っています。これは、例えば、MediaWikiが書かれている方法です。そうでなければ、複雑なプロジェクトでは、それは混乱になります。

コメントアウトをコードにハードコーディングすると、多くのリスクがあります。その中:台無しに

  • 非常に簡単にアップコメントを解除

  • はコメントしていたものは明らかではありません。などコメントアウトセクションでは、非表示にしたかった

  • すべてが、まだアクセス可能である検索エンジンに影響

  • カット&ペーストのエラーを重複し

  • 問題、

+0

コメントを使用してコードを非表示にすることを避けることに対して、良い例がいくつかあります。 –

+0

ありがとうございます。私はOOPコードでこれをコメントするのは悪いことだとは思うが、私は自分自身をあまりにも頻繁にやる。一方、ブロックが大きすぎるとコメントしている場合は、関数を複数の関数にリファクタリングして、いくつかの関数を呼び出すことができないことがよくあります。 – Uri

+0

私はそのコメントを間違って二重否定にしていることを認識しました。私はあなたがこのようにコメントを使用することに対して良い事例を作ることを意味しました。はい、これが私が代替案に興味を持っている理由です。なぜなら、おそらくそれがベストではないと知っていますが、私はいつもそれをやります。 –

2
/* 
Commented 
// */ 

//* 
Not commented 
// */ 
0

私が編集しているソーステキストの構造を理解しているテキストエディタを使用することをお勧めします。これはbasでコードの折り畳みを行うことができますエディタで解析された構造のものです。

VimまたはEmacsのいずれかのフォールディングがこのニーズを満たしています。

1

C++のセクションをコメントアウトする適切な方法は、私たちが明らかにプリプロセッサを使用しないので、ifステートメントを使用することです。

if(false) 
{ 
    chunk of code; 
} 

コンパイラは、最終製品のうち、そのデッドコードを最適化する、と彼らは/* */形式のコメントを行うことができない、入れ子にすることができるということで理論。あなたは、例えば、コードの任意の領域をコメントアウトするためにそれを使用することはできませんので理論は、もちろん、偽であることを

:一方

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

が、これは、Pythonなどの言語のために完璧に動作します任意のブロック内の任意のステートメントを許可し、標準プリプロセッサやブロックコメントもないステートメント。

関連する問題