WhizzClocks
@WhizzClocks

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

コメント 上か横か?

コメントの書き方について

言語は問わず、今までなんとなくコメントを書いてきました。特に位置に関してです。
例えば、関数であれば上に書いたり、はたまた関数にするまでもないまとまりのある部分であれば上に書いたりしてきました。ただ、1行のコードに対し(コメントするまでもないかもしれませんが)、上か右横か悩みます。

例えば下記の場合、(コードの内容はさておき、、、)

// カウントする変数
int count = 0;


or


int count = 0; //カウントする変数

どちら派が多いのでしょうか? またどちらかを選ぶ理由などありますか?(視認性?などなど)
まとまりのある箇所でも、1行に限らず、よろしくお願いします。

3

後置きだと コメントがあとのバージョンで複数行になった場合に前に移動するのがバージョン管理上余計な変更になるので前置き派です。

// test
int hoge = 0;

  // test
+ // test2
  int hoge = 0;

int hoge = 0; // test

+ // test
+ // test2
+ int hoge = 0;

eslint だと次のルールにあたります。

0Like

「コメントアウト」というのは、開発時の試行錯誤中などに、書いたコードをコメントにし、そのコード無しで実行して試してみるようなことを言うと思います。「コメントアウト」⇒「コメント」に訂正した方が良さそうです。

で、コメントを上に書くか横に書くかですが、質問者さんが組織で仕事をしているなら、組織でコーディングルールを決めて、それに従うという話になると思います。保守も含めて質問者さんだけが関わるなら、質問者さんの好みで決めればいいという話になります。

そういう話は置いといて、ここの参加者の好みなどを聞きたいということであれば、私の場合は「上」です。理由は単純に自分的に書きやすいし見やすいからです。

1Like

我流ですが,どちらも使います.

一行の短いコードに 短い説明を添える 場合であれば横に書きます.
提示例の count へのコメントのような変数の定義位置に変数の説明を一言添える場合とかはそうします.

他の場合は上ですかね.

あと,↓のような場合,forに関するコメントは横に書くかも?
(forに関するコメントを書くってかなりレアケースだとは思うけども.)

//ここに書いたコメントは以下のループ全体で行っている処理に関する説明だと見える
for( ... )  //とすると,このfor(繰り返し)に関しての説明を書きたいならここになる気がする
{
  ...
  for( ... )  //2重ループとかの場合,各forが何に関するループなのかを明記したい場合もあり得るかも?
  {
    ...
  }
}
1Like

LISP 系言語の習慣では行に対するコメントはコードと同じ行に書くのが一般的です。 コメントの開始記号はセミコロンですが、このセミコロンの数を変えてどの範囲に対するコメントであるのか区別します。 あくまで習慣ですし、 LISP 系言語は種類が多い (そもそもコメントの文法が違うものもよくある) のでいつも守られている習慣というわけではありませんが、エディタのサポートがそのような使い分けを想定してインデントを付けようとするので広く普及している習慣だと思います。

Emacs Lisp のドキュメントにわかりやすい説明があるので参考にしてください。

0Like

Your answer might help someone💌