マジックナンバー (プログラム)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
プログラムにおけるマジックナンバーとは、何らかの識別子として用いられるプログラム中に書かれた具体的な数値(「10」「123」など、数字によって記述される値)である。
次のような理由で、マジックナンバーはプログラム中に含まれないことが好ましいとされる。
- その数値の持つ意味がわかりづらい
- 数値を変更する場合に、複数の箇所を変更しなければならない可能性がある
これらを避けるため、マジックナンバーが書いてある箇所を定数や列挙型に置き換えるといった処置がとられる。定数は意味のわかりやすいような名前を付けるため、一読して数値の意味を理解できるからである。 もちろんここで、定数の初期化の際に書かれる数値までマジックナンバーとは呼ばない。
また、1や0はそれ自体が「真」・「偽」などの意味(真理値)を示しうる数値であり、マジックナンバーとは呼ばないこともある。
また、マジックナンバーは、データ構造体の中にある本質的な意味を持たない数値を指すことがある。これはデータ構造体を識別し、間違った型として扱われる事を防ぐために使われる。