【まじっくなんばー】
マジックナンバー とは?
💡 コードに突然現れる「意味不明な数字」、定数として名前を付けよう
📌 このページのポイント
マジックナンバーってどんな問題があるの?
「if (type == 2)」というコードを見て、「2」が何を意味するかすぐにわかる?翌月に自分で見ても「なんで2なの?」となる。「if (type == USER_TYPE_ADMIN)」なら意図が明確だよね。
どう直せばいいの?
定数(定数名)を定義して置き換える。JavaScriptなら「const HTTP_OK = 200」「const MAX_RETRY_COUNT = 3」のように。意味のある名前を付けることで読みやすくなり、値を変えるときも1箇所直すだけでよくなる。
ファイルのマジックナンバーは別?
マジックナンバーを見つけるにはどうすればいいの?
マジックナンバーが残ったままのコードって実際多いの?
まとめ:ざっくりこれだけ覚えればOK!
マジックナンバーって出てきたら「コードに意味の説明なく直接書かれた数値、定数化して名前を付けるのが正解」と思えばOK!
📖 おまけ:英語の意味
「Magic Number」 = 魔法の数字
💬 「魔法のように突然現れる(意味不明な)数字」という意味。ファイルフォーマット識別に使う「マジックバイト」とは別の概念