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


126

これはコードでよく見ましたが、vimでも特別なケースとしてマークされています。#TODOそして#FIXME他の二つの修正マーカーは、ハイライトをvimのが、何をしている#XXX意味ですか?


7
問題は、Pythonプログラミングのコードタグまたはコメントのベストプラクティスについてです。この件に関しては、Python拡張提案の議論があります。質問は、SOで保持するに値します。それはもう少し良い言葉で書かれたかもしれない。
nik 09/09/21

回答:


140

XXXコメントは通常、前向きです。かもしれない:

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

FIXMEor TODOやのようなより説明的なタグを好むことがよくありHACKます。XXX上記のすべてのキャッチとしてよく使用されます。

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


面白いのは、これを自分で使用していることです。XXXまたは#XXXは基本的にコンパイラーを作動させ、何かに戻ることを思い出させます。一般に、ポインター参照、または以前は不明だった値または変数名。
ボビー

5
これは私の最初の推測を確認しました。これは単に他のプログラマがそのコメントを注目すべきものとして強調表示するように指示するためのすべてをキャッチするタグです。
ホルヘバルガス

トロールしようとはしていませんが、「ハック」は説明的ではありません。実際、非常にあいまいです。私にとって、それは少なくとも3つのことを意味する可能性があります。
ЯрославРахматуллин

2
@ЯрославРахматуллинソースコードで私は常に「これは醜いハックジョブですが、十分に機能しているように見えます」という意味で読みます。後でクリーンアップしたいが緊急ではないもの 私はそれを使用していません(通常、TODOまたはXXX代わりに使用します)が、それは私がそれを解釈する方法です。
Iiridayn

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

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


3
良いリスト。また、LAZYOCDFIXME やHACKほど重要ではない)と(オーバーエンジニアリングで知られている)も好きです。
ブレンダンバード2013年

2
あなたは本当にこのようにXXXを使用していますか?私はXXXをはるかに高い優先度として見ました。これは、「これは、このコードがリビジョン管理に提出される前に修正する必要があることです」という意味です。これは、Google内での使用方法であり、自動的に適用されるため、コードレビュー中にXXXが表示される場合がありますが、XXXがなくなるまでコードを送信することはできません。存続期間が長い
ドンハッチ

21

拒否された2005年6月のPython拡張提案の一部のメモ。

間を選択するFIXMEXXX難しいです。
XXXより一般的であるようですが、説明ははるかに少ないです。
さらに、 不明な値を持つXXXコードの一部の便利なプレースホルダーです

したがってFIXME、優先されるスペルです。
Sunは、XXXそれFIXMEは少し異なり、XXXより深刻度が高いと言っています。
ただし、このトピックに関する数十年の混乱と
、Sunの影響を受けない数百万の開発者がいるため、それらを同義語と呼ぶのは簡単です。


PEPの始まりは、

このPEPは拒否されました。コミュニティは興味を持っているかもしれませんが
、標準ライブラリをこの標準に準拠させる必要はありません。

...

コードタグとは?

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


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


10

見ていPEP350を。それは、すべての説明TODOXXX私はコードタグ手段のまさに1を思い出すことができないときなど、私はそれを日常的に使用します。


1
PEP350がこれらのラベルの起源であるかどうか知っていますか?これらのラベルの使用方法を説明する古いドキュメント(UNIX時代のもの)を知っていますか?
ЯрославРахматуллин

6

XXXの方が入力しやすいので使っていTODOます。

XXX あなたが急いでいて、これに自分で戻るときのためのものです。

TODO 誰かにそれを渡す必要があるときのためです。


XXXは「急いでいるので、これに戻ります」TODOは、「これは、他の誰かに割り当てられる将来のバックログリクエストの正式な部分です」を意味します。それらは文字通りの意味です。
S.Lott

2
そして、これらの「文字通りの意味」はどのRFCにあるのでしょうか。それとも他の引用がありますか?
ランドール、

6
@ランドール:「引用」?すみません、たくさんのコードを読んだ後の私の理解です。
S.Lott



1

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


0

FIXMEは開発者のHACKためであり、メンテナーのXXXためであり、ユーザーのためであると信じています。

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

しかしについてFIXMEは、コードを修正して機能させるだけの価値があります。のためにHACK、それを使用しなくても、より良い選択がない場合があります。

XXX自分のコードで書いて誰かがそれを使用した場合、そのコードを完全に書き直した後、まったく異なる方法で動作し、他の誰かのコードを壊したなどの理由で不満を感じるかもしれません。しかし、あなたが去ったFIXMEか、TODO代わりに、あなたはそれほど気にしないでしょう。


0

// XXXを使用しているので、行番号を覚える必要はありません。代わりに、そのコードに戻りたいときにXXXを検索します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.