カテゴリ:仕事
前回の『プログラムの設定情報をどこに持たすか?』の続き。
各種プログラムを実行する際に、外部設定ファイル (INIファイル)から設定情報を読み込むように開発すると 非常に便利な場合があります。 けれども、INIファイルで設定すべきでない情報もあります。 DBの接続情報なんかがその典型だと思います。 なぜ、DBの接続情報をINIファイルにしないのか? 一番の理由は、セキュリティ上の問題(大抵はログインID+パスワードが セットでINIに記載される)ですが、個人的には、2つのあります。 ・信じられないお馬鹿がいる。 ・INIの書換えはお客さんのシステム担当者にやらせる。 ■信じられないお馬鹿がいる DBの接続情報をINIファイルに設定する奴に限って 「開発用テストDBへの切替が簡単なんでよいじゃなですか」 「接続先が変わった時にプログラムを変える必要ないじゃないですか」 って言うんですよ。 ・テストDBへの接続設定のままリリースした奴が何人もいます。 ・そもそも本番DBへの接続情報なんて変わることはない。 変更の必要のない共通情報はソース内に埋め込む。 開発時に接続情報を変えたければ、特定ファイルがあれば そのファイル内の設定で接続するようにプログラミングすれば よいだけです。 ※定数を書換えて開発すると、書換えたままリリースする奴が やっぱりいるので、間違っても定数を書換えて開発しない。 もちろんリリース時は、開発専用の設定ファイルはリリースしない。 (当然、開発用の設定ファイルと他の設定ファイルは分ける。) ■INIの書換えはお客さんのシステム担当者にやらせる 設定の変更が必要になった場合、原則お客さんに変更してもらう ようにしています。 「保守怠慢」と見られる場合もありますが、 「システムを使っているのはお客さん」という考えがあるからです。 お客さんでできることはお客さんがやる。 どーでもよいことで、保守対応するくらいだったら、 その時間で本当に困っている部分をカスタマイズも含めて対応するのが 本当の保守だと思ってます。 (会社はそうは思ってないけど。) で、その時に余計な設定情報まであると、何故かそこまで 変更しちゃったりすることが多々あります。 設定ファイルに設定情報がなければ、その情報が書き換わることは ありません。 お気に入りの記事を「いいね!」で応援しよう
[仕事] カテゴリの最新記事
|
|