名前を付けることの大切さ
高木です。おはようございます。
ある程度複雑なソフトウェアを開発する際、私は早い段階で必ず行う作業があります。
それは「名前を付ける」という作業です。
もっと具体的な話をしましょう。
開発にあたり、最初は漠然としていた「やりたいこと」「やるべきこと」を整理していくことになります。
その際、仕様や設計に必要となる概念をひとつずつ抽出し、それぞれに名前を付けていきます。
名前を付けていくことで、仕様や設計が整理されていきます。
漠然としていた対象が言語化されていくのです。
この作業を行わず、いきなり詳細を整理しようとしたり、打ち合わせを行おうとしたりしても、なかなか進みません。
それもそのはずです。
概念を表す言葉がないので、同じ用語を使っても複数の意味に使われることもあれば、同じ意味に複数の用語を充てることもあり、大混乱になります。
多くの場合、ソースコードでは英語を使うことになります。
そのため、名前を付ける際には英訳も同時に行います。
この英訳の作業も大切です。
ソースコード上の識別子にも日本語を使うなら英訳は不要です。
けれども、英語の識別子を使うにも関わらず英訳作業を先にやっておかないと、これまた大混乱に陥ります。
どういうことかというと、コーディングを行う担当者によって、あるいは同じ担当者であっても時期によって、てんでバラバラな英訳を好き勝手に行うことになるのです。
こうなるとソースコードの可読性は一気に低下します。
識別子を見ただけでは何のことなのかわからなくなり、逐一それが何かを説明するためのコメントが必要になります。
ソースコードはコメントがなくても理解できるように書くのが理想です。
現実にはなかなかそうもいかないのですが、コメントなしで理解できるソースコードを書く努力は怠るべきではありません。
その意味でも個々の用語に対して事前に英訳しておくことは必須です。
早い段階で個々の概念に名前を付け、それぞれに英訳を付けておけば、検索するのも容易になります。
仕様書あるいは設計書に書かれた用語で検索すれば、即座に関連するソースコードを引き当てることができます。
そのためには、コメントに記述する用語にも定義した通りの名前を使用することを徹底しなければなりません。
コメントに記述する日本語名は(識別子に日本語名を使うのであればそれも)、送り仮名の付け方、半角全角の使い分け、長音符や中黒の有無なども徹底すべきです。
ちゃんとした用語集を定めずにそれらを徹底するのは至難の業ですが、用語集があればそこからコピペするだけですのでいとも簡単です。
ちょっと考えれば当たり前のことなんですが、意外にやらない人が多いんですよね。