ICTシステムの構成要素の多くはアドレスで処理され、アドレスには名前が付いている。名は体を表すということわざ通り、一目で構成要素の役割が分かりやすく統一性がある名前をつけると、アーキテクチャ全体が分かりやすく管理しやすくなる。筆者はアーキテクトの技量を推し量るため、システム仕様書上の名前や各種のネーミング規約を見ることがままある。それほど名前付けは重要な設計要素と心得てほしい。

 名前を付けるべきものはいくつもある。代表的なものはデータ関連では項目やレコード、データオブジェクト、アプリケーション関連ではモジュールやラベル(エントリ名、メソッド名、分岐先など)、システム基盤関連ではサーバーのホスト名、ストレージのドライブ名、ネットワークのURLやURIなどだろう。

名前で役割を表す

 データやアプリケーションに関する命名は規約がある開発現場が多い。最近のプログラミング言語の多くはモジュールやインタフェース、データ項目などの命名に関して、基本的なルールを設けている。英大文字と小文字をどう使い分けるかや、階層関係にあるものの並べ方や連結記号などだ。クラスやメソッド構成の良し悪しが名前の分かりやすさそのものであり、加えて仕様の誤解を防ぐには、システム内でデータ項目や属性(プロパティ)の名前を統一することが重要である。

 設計書で使う用語やデータ項目を収録した独自の「辞書」を作成・管理することは昔からの定石だ。同じ意味で違う言葉や、同じ言葉で違う意味が生じないようにすることで、曖昧性や誤解が生まれるのを防ぐ。辞書には項目の属性や桁数とともに、用語の意味や取り得る値、他項目との関係性を定義する。辞書を基にチェックロジックを自動生成するフレームワークもある。