web-dev-qa-db-ja.com

コードコメントの#XXXの意味は何ですか?

私はこれをコードでたくさん見ましたが、vimでさえ特別なケースとしてマークしています。 #TODOおよび#FIXMEは、他の2つの修正マーカーvimハイライトですが、#XXX意味?

113
Jorge Vargas

コメント内のXXXは通常、ヘッズアップです。かもしれない:

  • 完全に正しく実装されていないもの。
  • 後で修正する必要があるもの。
  • 問題の可能性のある箇所を強調表示します。
  • よくわからないこと、質問。

FIXMEまたはTODOまたはHACKのような、より説明的なタグを好むことがよくあります。 XXXは、上記のキャッチオールとしてよく使用されます。

FreeBSDコード相互参照 で「XXX」を検索することは、多くの用途の良い例です。何千もあります...

120
Stef
  • NOTE:コードの動作の説明(自明でない場合)。
  • XXX:潜在的な落とし穴に関する警告。NOTE:XXX:として使用できます。
  • HACK:問題/バグを回避するための、十分に記述されていない、または不正なコード。 HACK:FIXME:として使用する必要があります。
  • FIXME:これはある程度機能しますが、もっとうまくやることができます。 (通常、書き換えが必要な急いで書かれたコード)。
  • BUG:ここに問題があります。
  • TODO:問題ありませんが、通常は何かをスキップするときに追加のコードを書く必要があります。

少なくともこれが、これらのタグについて教えられた方法です。基本的に最初の2つ(NOTEXXX)は情報のために使用され、アクションは不要です。最後の3つ(FIXMEBUG、およびTODO)はアクションが必要です。 HACKはその中間にあります(使用されることはほとんどないと思いますか?)。

76
Peter

2005年6月Python拒否された拡張提案

FIXMEXXXの選択は困難です。
XXXはより一般的であるように見えますが、説明的ではありません。
さらに、XXXはコード内の便利なプレースホルダーです
未知の値を持つ。

したがって、FIXMEが推奨されるスペルです。
Sunによると、XXXFIXMEはわずかに異なり、XXXの重大度が高くなっています。
ただし、このトピックに関する数十年の混乱と、数百万の
Sunの影響を受けない開発者は、同義語と呼ぶのが簡単です。


PEPの始まりは、

このPEPは拒否されました。コミュニティには興味があるかもしれませんが、
標準ライブラリをこの標準に準拠させることは望みません。

...

コードタグとは何ですか?

プログラマーは、アドホックなコードコメントマークアップ規則を広く使用して、コードの詳細な検査またはレビューが必要なセクションのリマインダーとして機能します。マークアップの例には、FIXMETODOXXXBUGが含まれますが、既存のソフトウェアではさらに多く使用されています。このようなマークアップは、今後codetagsと呼ばれます。これらのコードタグは、アプリケーションコード、単体テスト、スクリプト、一般的なドキュメント、または適切な場所に表示されます。


PEPは興味深い読み物です。

20
nik

PEP35 をご覧ください。 TODOXXXなどのすべてを説明しています。コードタグの1つが何を意味するのか正確に思い出せないときに、毎日使用しています。

9
Ztyx

XXXよりも入力しやすいため、TODOを使用します。

XXXは急いでいるときに使用し、自分でこれに戻ります。

TODOは、他の人に渡す必要がある場合に使用します。

6
S.Lott

から(古い) Javaコードの規則

コメントでXXXを使用して、偽物ではあるが機能するものにフラグを立てます。 FIXMEを使用して、偽の壊れたものにフラグを立てます。

3
Martin

おそらく、それはあなたが処理する方法を知らない場合のためです。
これをチェックしてください: TODO/FIXME/XXX/HACKステートメントのリストビュー

代替テキストhttp://editra-plugins.googlecode.com/svn/wiki/images/commentbrowser/cb_screenshot.PNG

3

プレースホルダーは、通常それが参照するコードを暗示しています:

  • 醜い
  • 怖い
  • 魔法

またはさらに悪い。

2

XXXは、NOTEとは少し異なりますが、HACKと非常によく似た警告の略です。使用されているサードパーティのライブラリ/コードのバグである可能性があり、// XXX:のコードは、サードパーティのコードのバグによる回避策であるか、探している/変更している人に対する「注意」を意味する可能性があることを示します何かが特定の方法で行われている理由を示すコード。 HACKは、独自のコードベースまたはサードパーティライブラリのいずれかに存在する可能性のある問題の回避策を意味する一般的な用語です。

1
Divick

FIXMEは開発者向け、HACKはメンテナー向け、XXXはユーザー向けだと思います。

たとえば、XXXを無視し、その機能を理解せずにこの関数を別の場所で呼び出すと、予期しないことが起こり、この問題に対処する人は不幸になります(少なくともXXXはそう思います)。この機能を使用しなければ、問題はなくなると思うかもしれません。

ただし、FIXMEの場合は、コードを修正して機能させるだけの価値があると感じるでしょう。 HACKの場合、使用しなくても良い選択がないかもしれません。

自分のコードにXXXを書いて誰かがそれを使用した場合、そのコードを完全に書き直したなどの理由で不満を感じるかもしれません。しかし、代わりにFIXMEまたはTODOを残した場合、それほど気にする必要はありません。

0
user23013