読者です 読者をやめる 読者になる 読者になる

erukitiのmiscなやつ

雑にいろいろ

その事例だとコメントは不要だと思います

「正しく書かれたソースコードにコメントは必要ない」なんて幻想だという話 - 土屋つかさのテクノロジーは今か無しか および 「正しく書かれたソースコードにコメントは必要ない」なんて幻想だという話(補足編) - 土屋つかさのテクノロジーは今か無しかで、計算式の意図を説明するためにコメントを書こうぜという主張が書かれてますが、この内容だと全く賛同できませんね。別にコメントを全否定するわけではありませんが、この主張の例だと不適切です。

//フェードインが未完了の場合
if (alpha < 1.0f){
 //処理A
}

元記事の主張は、alpha < 1.0f という計算式はコメントなしでは本来の意味であるフェードインが未完了の場合、というものがさっぱりわからないということでした。つまり情報の欠落を問題にしています。

const isFadeinCompleted = () => alpha < 1.0
if (isFadeinCompleted()) {
  //処理A
}

これでいいのでは?jsっぽいコードサンプルとのことなので、普通にアロー関数でラムダ式書くだけでいいですね。これならコメント一行増えるのと、それほど手間変わらないし、名前空間汚染なんてのも発生しません。ちなみにisFadeinCompletedに引数を指定するまでやるかどうかはぶっちゃけどっちでもいいと思います。

まぁ案3でもかまわないと思います。一度変数に結果を格納するというのは、普通にリファクタリングで使われるテクニックでもありますし、なぜそこに抵抗を感じるのかが不思議ですね。

あと、isFadeinCompletedalpha < 1.0を結びつけるのがいやだということなら、二段階で定義すればいいだけですね、

const isTransparent = () => alpha < 1.0
const isFadeinCompleted = () => isTransparent()
if (isFadeinCompleted()) {
  //処理A
}