ルール3優れた名前こそ最高のドキュメントである

 至極当たり前のことだが、シェイクスピアを引用せずして、プログラミングについて書くことなどできようか。今となっては、言い古された耳タコ的な話だ。だがしかし、ここであえて『ロミオとジュリエット』をさくっとおさらいしておきたい。ロミオとジュリエットは不運な星のせいで行き違いとなった110代の若者たちで、互いに愛し合っているものの、両家の間にある怨恨に阻まれ、幸福な人生を添い遂げることができない。この物語は、関係者全員にとって残念な結末に終わる。

1 訳注:原文は、『ロミオとジュリエット』のプロローグに出てくるstar-crossedという表現を使っている。

 第2幕第2場。ジュリエットは、劇中で5番目に有名な引用で、そういう状況を嘆くのだ。

名前に、どんな意味があるというの? わたしたちが薔薇と呼ぶもの、

それは他のどんな名前で呼ばれたって、変わらず甘く香るものだというのに。

 コードに関しても、似たような主張を耳にしたことがある。それは決まって、物事の名前の付け方について、ぼくが重箱の隅をつつくようにコードレビューする態度にいらだった、同僚からの声。変数名、関数名、メンバー名、ソースファイル名、クラス名、構造体名……どれもこれも難癖をつけやがる、らしい。

 頭がイカれた相手を軽蔑するようにたいていは白目をむき、連中は主張する。「名前が重要なんじゃない、重要なのは名前が付いている物の方だ。変数(または関数、クラス、などなど)の本当の意味は、コードを実際に見ることでしか決定できない。変数の真の意味とは、変数が表現する物だ。つまり、その変数がどのように設定され、どのように使われるかであって、その名前が何であるかってことじゃない。名前が変わっても、機能は変わりゃしない」 ...

Get ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.