聞いて覚えるプログラミングシリーズ「定数とは何か?」【 文字起こし】
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
※この記事は、【聞いて覚えるプログラミングシリーズ】の文字起こしです。
今回は「定数」について学んでいきましょう。
定数とは
定数というのは、内容を後から書き換えることができない変数のことです。
変数というのは、プログラミングをする時に使う「データを入れておく箱」のようなものでしたね。
変数を使うことで、プログラミングをより便利に行うことができます。
例えば、ネットショップのアプリなどで、商品の代金に、買った数量を掛け算して、合計購入金額を計算するプログラムがあったとします。
商品の単価が100円、数量は5個だとすると「100 × 5」で500円になりますが、これをこのままプログラムに書いてしまうと、何度動かしても「100 × 5」の計算しかできないプログラムになってしまいます。
しかし、単価や数量の各数値を「変数」として定義しておくと、それぞれの箱に好きな数値を入れるだけで、どんな商品・数量でも計算もできるプログラムになります。
では、これに「消費税の計算」も行うようにした場合はどうでしょう?
計算式はこんな感じになりますね。
単価 × 数量 × 消費税 (ここでは10%とします)= 合計金額
ただ、消費税の税率(10%)は、処理する度に変わるものではなく、毎回固定です。
これを、単価や数量と同じように変数で定義してしまうと、誤ってプログラムの中で変数の値が書き換えられてしまい、思わぬバグを生んでしまうかもしれません。
では、変数を使わずに直接「10%」と書いておけば良いかと言うと、金額計算はソースコードの色々な箇所にある可能性があるので、その全ての箇所に10%と直接書いていては、もし将来税率が変わった場合にソースコードの修正が大変です。
こういった場合に使うのが「定数」です。
定数は、一度設定したデータを後から書き換えることが出来ないため、税率を定数として定義しておけば、プログラム内で書き換えられることがなく安全です。
しかも、定数として1箇所で定義されているので、もし税率が変わった場合も、ここを書き換えるだけで修正が完了します。
こういった、色々な場所で使われる値だけど、プログラム内で変更してほしくないような「固定値」には、定数を使うようにしましょう。
実際のWebアプリ開発では、先ほど挙げたような計算の固定値の他にも、
データベースの接続情報、
会社名やコピーライトなどのページの固定表記文字列、
サービスの管理者のメールアドレス、
WebAPIの認証キーなど
色々なソースコードから参照されるものの、内容が変更されない固定値は定数として定義します。
その際は、別途「定数用のファイル」を作って、そこにまとめて定義することが多いです。
まとめ
・変数は、内容を何度も書き換えることができる箱
・定数は、最初に入れた内容を後から書き換えることができない箱
・定数は、プログラム内で後から書き換えられると困るような固定値に使う