白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

elseのコメントってどこに書く?

おはようございます。

仕事納めましたか?
年末年始もお仕事ですか?

さて、緩めの話題ですが、戦争が起きそうな話題でもあります。
elseとかelse ifのコメントをどこに書くか問題です。
コメント書かないで済むコードが最高というのは言わないお約束ですよ。

あと大前提として、コーディング規約はちゃんと守りましょうということは先に言わせてください。


で、まず、elseのないifを考えます。

// ○○なとき
if (○○) {

}

if (○○) {
    // ○○なとき
}

if (○○) { // ○○なとき

}

どれがお好きですか?
わたしは①が好きです。

で、elseの場合ですが、

// ○○なとき
if (○○) {

// そうじゃないとき
} else {

}

if (○○) {
    // ○○なとき

} else {
    // そうじゃないとき
}

if (○○) { // ○○なとき

} else {  // そうじゃないとき

}

どれがお好きですか?
わたしは①が好きです。

っていう話をしたら、ものすごく否定されたことがあります。
elseのコメントがifのブロックに入っているじゃないか!という指摘です。

でもその方は、ifとforは上に書いて、elseとwhileは下に書くそうです。
謎です。

わたしはコメントは全部コメントしたいものの上に書くのが好きです。
同じルールで済みますから。
クラスとかメソッドとかのJavaDocコメントも上に書きますしね。


極端な話、特にルールが決まっていなければ自分が気持ちの良い書き方で良いとわたしは思っています。
みんなが同じスタイルが良いと思っているのが一番ではありますが、世の中そううまくも行きません。
であれば、そんなところでストレスを溜めるものではないです。

ただ、ある人のスタイルが気に入らないからと言って勝手に書き換えるのはやめた方がいいです。
末代まで呪われます。

ところでifで①、elseで②を選ぶ方は、
else節が追加された場合にはifのコメントも移動するのでしょうか。
そこは個人的に気になります。


さて、今年はこれが最後の記事です。
よいお年を。