マジック・ナンバーとは,ソース内に埋め込まれた,プログラマ本人にしか意味が分からない数値のこと(文字列の場合は「マジック・ワード」)。例えば,配列を使ったfor文のプログラムで,配列の個数を数値で記述するようなケースだ(図 左上の「10」)。このようなケースでは,あらかじめ配列の個数を意味する定数「ArrayCount」を定義し,プログラムではその定数を用いるべきである(図左下)。そうすれば,ほかの人がソースを見る場合や,時間を置いて自分でソースを見直す場合でも,意味をとらえやすく保守性が上がる。数値を変更する場合も定数の値を書き換えるだけで済む。 図●マジック・ナンバーは定数化すべきだが例外もある 開発者本人でないと分かりづらい数値は定数化すべきだ。ただし,過度の定数化は,かえってソースの可読性を下げることがあるので,例外は認めるべきである [画像のクリックで拡大表示] とはいえ,杓子定
![[実装編]マジック・ナンバーを使ってはいけない](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)