特定の動作環境を決め打ちして、その動作環境で動作させることを前提とした処理やデータをソースコードの中に書き込んでしまうプログラミング方式。「ハードコーディング」ともいう。
年を西暦表示するためのコードに「19xx」と記述したり(1900年代に決め打ちしている)、数値の入力を求めるためのコードに「数値と入力してください」と記述したり(日本語に決め打ちしている)するのがハードコードの代表的な例である。
具体的なデータに限らず、特定の動作環境でしか正常に動作しないような処理は広く「○○前提のハードコード」と呼ばれる。
たとえば、国産のオンラインソフトの多くは英語と日本語の入力しか受け付けない(中国語などを入力すると文字化けする)が、これはそのソフトが「日本語前提でハードコードされている」ためである、といった用法もある。
プログラムはいったんネイティブコードに変換(コンパイル)するとほとんど編集が不可能になってしまうため、ハードコードされたデータを書き換えるには元のソースコードから書き直す必要がある。
これに対し、外部のデータを参照して動作するように設計されたプログラムでは、外部のデータを書き換えればプログラム本体に手を加えなくてもさまざまな環境に対応できる。
このような理由があるため、特に不特定多数の人が使用するプログラムではハードコードを控え、プログラム本体とは別の場所にあるデータを参照するなどして、様々な環境で動作させることを考慮すべきとされている。