ハードコード【hard coding】ハードコーディング/オンコーディング

概要

ハードコードとは、コンピュータプログラムを開発する際に、特定の動作環境を決め打ちして、その環境を前提としたデータソースコードの中に直に記述すること。
ハードコードのイメージ画像

外部の設定ファイルなどから読み込むのではなく、プログラミング言語で書かれたソースコードの中にリテラルなどの形で直に書き込まれたデータを指す。何らかの意味のある数値を直に記述したものは「マジックナンバー」と呼ばれる。

ハードコードされた内容は実行形式のプログラムにも埋め込まれるため、実行時に書き換えることはできず、内容を変更するにはソースコードの修正と実行ファイルへの変換(ビルド)を再度行わなければならない。

物理定数のように状況によらず不変なデータはハードコードしても後で困ることは少ないが、不適切な種類のデータをハードコードしてしまったことが原因でバグやトラブルが発生することがある。よく挙げられる例としては、(開発環境における)パスフォルダ名、パスワードなどの秘密の情報、税率や祝日の日付など将来変更される可能性があるデータなどがある。

また、利用者へのメッセージを日本語でハードコードしたことで外国語環境で利用できなかったり、逆に、入力文字としてASCII文字半角英数字)しか受け付けないため日本語が入力できないなど、開発者の当初の想定を超えて利用されることでトラブルが顕在化する場合もある。

(2020.5.16更新)

他の用語辞典による「ハードコード」の解説 (外部サイト)