解説
「マジックナンバー」(magic number)は、プログラムの処理の中に直接書かれた数値のことです。
変数や定数を利用せずに数値を直接書いてしまうと、あとで修正する時に、修正点を探しにくくなったり、どういった意味の数値か分からなくなったりします。また、引き継ぎなどがおこなわれていくうちに、誰も意味が分からないプログラムになったりします。
さらに、自分で書いたプログラムでも、数年経つとどういった意図で書いたのか分からなくなったりします。そのため、こうした書き方は避けられます。
また、こうした固定の値をプログラムの処理中に埋め混むことを、ハードコーディングとも呼びます。
サンプル
「マジックナンバー」のサンプルです。マジックナンバーを利用した状態と、そうでない状態を示します。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>「マジックナンバー」のサンプル</title>
<style> #output { font-size: 1.5em; } </style>
</head>
<body>
<div id="output"></div>
<script>
window.addEventListener('DOMContentLoaded', e => {
// マジックナンバー状態
const num = 1000 + 1000 * 0.03;
// 定数を利用
const basePrice = 1000
const taxRate = 0.03
const totalPrice = basePrice + basePrice * taxRate;
// 出力
const element = document.querySelector('#output');
element.innerHTML = `
<div>合計価格1 : ${num}</div>
<div>合計価格2 : ${totalPrice}</div>
`;
});
</script>
</body>
</html>
合計価格1 : 1030 合計価格2 : 1030
