ハードコーディング |
辞書:電算用語の基礎知識 プログラミング用語編 (PTPROGY) |
読み:ハードコーディング |
外語:hard coding |
品詞:名詞 |
プログラム中に定数などを直接記述すること。こうして書かれた値をマジックナンバーという。
|
概要 |
後からの修正が困難(時に不可能)となるため、決してしてはならないとされる不文律の一つ。
ヘボプログラマーほどハードコーディングをこよなく愛する傾向にあり、彼らが書いたプログラムは高確率でボログラムである。
実例 |
修正困難 |
例えばCやC++のプログラムで、バッファーサイズをint buf[1024];のようにマジックナンバーで指定したプログラムがあったとする。
これを2048に変更したくなった時、この行だけ書き換えても恐らく正常に動かない。バッファー溢れを防ぐためのエラーチェックなどの部分も書き換えて初めてきちんと動作するが、それをどこでやっているのかはプログラム全体をチェックしないと分からない。一箇所でも書き換え忘れればバグになる。
修正容易 |
対し、#define BUFFERSIZE 1024; として int buf[BUFFERSIZE]; のようにすれば、define行の書きかえだけで全ての数値が書きかえられるので、これに伴うバグは発生しないはずである。
従って、このようなコーディングを心がけるべきと考えられている。
最近のものは未確認だが、Linuxのソースにも結構ハードコーディングされたマジックナンバーが存在するという噂がある。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |