通信用語の基礎知識 IPv4
戻る
参加者募集中

ハードコーディング

辞書:電算用語の基礎知識 プログラミング用語編 (PTPROGY)
読み:ハードコーディング
外語:hard coding 英語
品詞:名詞
2005/11/11 作成
2008/02/17 更新

プログラム中に定数などを直接記述すること。こうして書かれた値をマジックナンバーという。

後からの修正が困難(時に不可能)となるため、決してしてはならないとされる不文律の一つ。

ヘボプログラマーほどハードコーディングをこよなく愛する傾向にあり、彼らが書いたプログラムは高確率でボログラムである。

修正困難

例えばCC++のプログラムで、バッファーサイズをint buf[1024];のようにマジックナンバーで指定したプログラムがあったとする。

これを2048に変更したくなった時、この行だけ書き換えても恐らく正常に動かない。バッファー溢れを防ぐためのエラーチェックなどの部分も書き換えて初めてきちんと動作するが、それをどこでやっているのかはプログラム全体をチェックしないと分からない。一箇所でも書き換え忘れればバグになる。

修正容易

対し、#define BUFFERSIZE 1024; として int buf[BUFFERSIZE]; のようにすれば、define行の書きかえだけで全ての数値が書きかえられるので、これに伴うバグは発生しないはずである。

従って、このようなコーディングを心がけるべきと考えられている。

最近のものは未確認だが、Linuxのソースにも結構ハードコーディングされたマジックナンバーが存在するという噂がある。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club