初めに
研究でハードコーディングを行うとよくないと感じたので書いてみたいと思います!
ハードコーディングとは
- ハードコーディングとはプログラミングのソースコードを書く際に固定すべきでない値を固定してしまうことです.
例えば以下のようなソースコードを見てみてください!ちなみにこれは死活監視をpythonで実行するコードです.
import subprocess #subprocessをインポート
subprocess.run(["ping","192.168.100.143"]) #死活監視を実行
これを見て思うことがありませんか?そう,2行目のIPアドレスの値が固定されています.IPアドレスは, 死活監視を行う上で必須なのですが監視対象が変わった時にいちいちソースコード内のIPアドレスを変更しないといけません.
問題点
ハードコーディングの問題点は大きく分けると2つあります.
(1)ソースコードの値が変更になった際にソースコードを記載しているファイルを編集する必要があります.もう一度先ほどのソースコードを見てみましょう!例えばIPアドレスの値を192.168.100.143から192.168.100.1にします.
import subprocess #subprocessをインポート
subprocess.run(["ping","192.168.100.1"]) #死活監視を実行
死活監視を行うが変わるたびにIPアドレスをいちいちソースコードを変えるのはめんどくさそうですね.しかもたくさんのソースコードがハードコーディングされているとその分だけコードの変更が必要になるので手間です.
(2)セキュリティー上の問題
ハードコーディングにはセキュリティー上の問題もあります.例えばパスワードや鍵の情報がそのまま直書きされていると,「鍵はここです!」と言っているようなものです.そのため第3者に見られるとまずいソースコードをハードコーディングすると攻撃を受けてしまうかもしれません.
終わりに
ハードコーディングを避けて, 効率よくセキュリティーに強いソースコードの記述を心がけていきましょう!