プログラムにおけるマジックナンバー(魔法数字)とは、何らかの識別子として用いられるプログラム中に書かれた具体的な数値である。そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバーの意図を忘れたとき閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。まるで魔法の数字だ」という皮肉を含む。次のような理由で、マジックナンバーはプログラム中に含まれないことが好ましいとされる。たとえば、消費税が8%の時に以下のようなコードを書いたとする。これは、nedanに商品の本体価格を入力することでzeikomiに消費税込みの価格が得られる、という計算式である。しかし消費税の税率は変化し得るため、税率が8%以外に変更されたとき修正が必要となる。このとき「1.08」はマジックナンバーであり「なぜ1.08なのか」という意図が不明瞭である。マジックナンバーを除くと、となり、式に意図が示されるため修正が容易になる。codice_1関数は第一引数の文字列を第二引数でRGBのフルカラーで指定した色で表現する関数であるとする。この関数は標準ライブラリに存在しない架空の関数である。この場合、color textという文字列が「白色」で表示される。ただし0xffffffは直感的に「白色」と伝えることは困難なマジックナンバーである。マジックナンバーを取り除く手法の一つとして、以下のような書き方がある。これらマジックナンバーを避けるため、マジックナンバーが書いてある箇所を定数や列挙型に置き換えるといった処置がとられる。定数は意味のわかりやすいような名前を付けるため、一読して数値の意味を理解できるからである。ここで、定数の初期化の際に書かれる数値までマジックナンバーとは呼ばない。また、1や0はそれ自体が「真」・「偽」などの意味(真理値)を示しうる数値であり、マジックナンバーとは呼ばないこともある。また、マジックナンバーは、データ構造体の中にある本質的な意味を持たない数値を指すことがある。これはデータ構造体を識別し、間違った型として扱われる事を防ぐために使われる。これについてはフォーマット識別子としてのマジックナンバーを参照。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。