「ハードコーディング」の版間の差分

提供:MonoBook
ページの作成:「'''ハードコーディング'''(Hardcoding)とは、プログラミングにおいて、どうみても「設定」として外だしすべき値をソース…」
 
編集の要約なし
1行目: 1行目:
'''ハードコーディング'''(Hardcoding)とは、[[プログラミング]]において、どうみても「設定」として外だしすべき値を[[ソースコード]]に直接記述することをいいます。
'''ハードコーディング'''(Hardcoding)とは、[[プログラミング]]において、どうみても「設定」として外だしすべき値を[[ソースコード]]に直接記述することをいいます。


ハードコーディングを避けるためには設定ファイルなどを用いて、値や設定をプログラムから外部に分離することが望ましいとされています。これにより後で値や設定を変更する際に、プログラムの修正が不要になり、柔軟性の高いプログラムを実現することができます。
ハードコーディングを避けるためには設定ファイルなどを用いて値や設定をプログラムから外部に分離することが望ましいとされています。これにより後で値や設定を変更する際に、プログラムの修正が不要になり、柔軟性の高いプログラムを実現することができます。
 
当然ながら「コーディングの手間」は増えるので「書いたら逃げろ」を実践している人々はそんなことしません。


== 事故 ==
== 事故 ==

2023年3月15日 (水) 04:05時点における版

ハードコーディング(Hardcoding)とは、プログラミングにおいて、どうみても「設定」として外だしすべき値をソースコードに直接記述することをいいます。

ハードコーディングを避けるためには設定ファイルなどを用いて値や設定をプログラムから外部に分離することが望ましいとされています。これにより後で値や設定を変更する際に、プログラムの修正が不要になり、柔軟性の高いプログラムを実現することができます。

当然ながら「コーディングの手間」は増えるので「書いたら逃げろ」を実践している人々はそんなことしません。

事故

ハードコーディングはソースコードの編集が容易なスクリプトではよくあるパターンです。

ただウェブアプリなどではWebサーバーの設定ミスでCGIなどのスクリプトが実行されず、ソースコードHTMLとして出力され、ハードコーディングされたパスワードなどが流出してしまう事故がよくあります。

この事故を防ぐには、まずそもそも論としてハードコーディングはせず、また設定ファイルをウェブサーバーからはアクセスできない領域(DocumentRootの外側)に置くのが望ましいとされています。