一右雨円王音下火花貝学気九休玉金空月犬見五口校左三山子四糸字耳七車手十出女小上森人水正生青夕石赤千川先早草足村大男竹中虫町天田土二日入年白八百文木本名目立力林六引羽雲園遠何科夏家歌画回会海絵外角楽活間丸岩顔汽記帰弓牛魚京強教近兄形計元言原戸古午後語工公広交光考行高黄合谷国黒今才細作算止市矢姉思紙寺自時室社弱首秋週春書少場色食心新親図数西声星晴切雪船線前組走多太体台地池知茶昼長鳥朝直通弟店点電刀冬当東答頭同道読内南肉馬売買麦半番父風分聞米歩母方北毎妹万明鳴毛門夜野友用曜来里理話マジックナンバー(プログラム)プログラムにおけるマジックナンバー(、魔法の数字)とは、何らかの識別子もしくは定数として用いられる、プログラムのソースコード中に書かれた具体的な数値である。そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバーの意図を忘れたときに閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。まるで魔法の数字だ」という皮肉を含む。概要.次のような理由で、マジックナンバーはプログラム中に含まれないことが好ましいとされる。定数シンボルの導入により、式に意図が反映されるため修正が容易になる。マジックナンバーを取り除く手法の一つとして、以下のような書き方がある。これらマジックナンバーを避けるため、マジックナンバーが書いてある箇所を定数や列挙型に置き換えるといった処置がとられる。定数は意味のわかりやすいような名前を付けることができるため、一読して数値の意味を理解できるからである。ここで、定数の初期化の際に右辺値に書かれる数値までマジックナンバーやハードコーディングとは呼ばない。を採用している。フォーマット識別子.