一元化する。二重管理を避ける
情報の管理、プログラムの構成などは、できるだけ一箇所にまとめ、一元化する。二重管理は避ける。
二重管理のデメリット
- 同じようなモノが複数の箇所に散在していると、何か変更が発生した時に、全ての箇所を同じように更新する必要があり、コストがかかる
- 複数の箇所に変更を反映する運用だと、何かのタイミングで「反映漏れ」「修正忘れ」が発生するリスクがある
一元化した時のメリット
- そこさえ見れば全てが網羅できる。あちこち探しに行く必要がない
- 変更が発生した時も、管理コストが小さく済む
一元化したいモノ
- 個人的なノート・メモ : 紙のノート、システム手帳、PC 内などに散在させず、可能な限り1つの媒体に集める
- オススメは、日付をファイル名にした Markdown ファイルを Google ドライブ上に保存する方法。テキストファイルなので、情報を探す時は
grep
コマンドで探せるし、ストレージサービスを利用すればどんな環境に移動しても参照できる - どうしても紙の資料が必要な場合は、紙の資料に日付などを書いておき、Markdown ファイルの方で「○○に関する情報は、△△の紙資料を参照のこと」と書いておく。そうすればこのテキストが
grep
でヒットするので、そこから紙資料を探せば良くなる
- オススメは、日付をファイル名にした Markdown ファイルを Google ドライブ上に保存する方法。テキストファイルなので、情報を探す時は
- 設計書、マニュアルの在り処
- チームメンバーが、そのプロジェクトの情報を仕入れるための場所を一箇所にまとめる
- …とはいえ、「社内プロキシがあって…」とか「ドキュメントを管理する Wiki と、コードを管理する Git は1つにはできない」など、限度はあると思うので、「ココさえ見れば全てのシステムにアクセスできるリンク集」 (エントリポイント) を作って、入口は1つで済むようにまとめておくと良い
- 開発マシンやシステムにおける環境情報
- システムを作る場合も、マシンの環境構築をする場合も、「環境設定はこのファイル、このディレクトリ配下でのみ行っている」という風に、見るべき場所を1箇所にしておく
- 複数の場所に環境情報が散らばっていると、どこでどの情報が参照されているのかが分かりづらくなる
「一元化する」ということをコーディングにおいて突き詰めていくと、
- 何度も登場する情報は変数化する (マジックナンバー、ハードコーディングを避ける)
- 何度も行う処理はメソッド化する (コピペプログラミングを避ける)
など、つまり DRY、繰り返しを避けることにも繋がる。