マジックナンバーの履歴

プログラミング

意味が明確でない数値のこと。

これは悪い例。

if (person.age < 20){
  …
}

この「20」がマジックナンバー


こうするべき。

var tabako = 20;
…
if (person.age < tabako){
  …
}


こうしておけば、

  • コード読めば何がしたいのかが分かる
  • 打ち間違えを防ぐ(もしtabakoをtypoしたらコンパイルエラーがでるはず)
  • 変更があった場合に一か所書き換えるだけ

認知科学

人が瞬時に覚えられるチャンク数は7±2だ、という説。チャンク数とはあるもののひとかたまりのこと。例えば「mindia.jp」は「mindia」と「jp」でチャンク2。