見出し画像

基本情報処理 ハードコードすなって、何をしちゃだめなの?

djangoに限らずですが、たまにこんな文言を見かけませんか?

「ハードコーディングすると、セキュリティリスクが高まるため、見られてはいけない情報は、環境変数とかに書いておくように」

ですが、これ、ハードコーディングってそもそもなんなの?

とりあえず、コードに書いちゃダメっていうのはわかるんですが。

ということで、ハードコーディングの意味調べてみました。

こんな感じです。

ハードコーディング(英:hard coding)とは

別のところに分けておいた方が良いであろう処理や値をソースコード(人間語で書いたプログラムの元ネタ)の中に直接埋め込むこと

です。

まぁ、文章のまんまですね。

ただ、機密うんぬんの話だけじゃなくて、コードとしてのメンテナンス性に優れているかどうかもハードコーディングを推奨されない理由として説明されています。

例えば、買い物をする関数があったとして、消費税率を計算するときにいきなり、コード上に「0.1」と登場させたら、あとあとメンテナンスする際に、「0.1」の意味がわからなくて混乱する場合がありますよね。

それを避けるために、まずはconsume_taxとか適当な変数に一度「0.1」をいれてから、計算すると、わかりやすいといった例が挙げられます。

この記事が気に入ったらサポートをしてみませんか?