目次


ソフトは言霊

「言霊(ことだま)」を知っている人が、どれくらいいるだろう? 言葉に霊(たましい)が宿るってやつ。

知っていても、「ちょっと非科学的な話でしょ」と思っている人が多いかもしれない。
実際、いまどきの日本のエンジニアの多くは無宗教だし、そういう話とは縁遠い。

だがしかし。断言しよう。

ソフトウェアの世界にこそ、言霊は存在する。

優れたソフトウェアのための原則はいろいろある。
KISS, YAGNI, DRY, SOLID, SoC, SLAP, CQS …などなど。

でも、そのすべての根底にあって、コーディングでいちばん重要なものがある。

それが Naming(命名)

これは、多くの人がうなずいてくれるんじゃないだろうか。


良い命名 → 可読性向上 → バグ削減 → ソフトの進化

ヒルベルト先生

大数学者ダフィット・ヒルベルトの言葉に、こんなものがある。

「椅子、机およびビールジョッキのようなものを、点、線および平面と呼んでも問題としない。」

数学においては、対象にどんな名前を付けても、論理と構造が一貫していれば、正しいものは正しい。

ソフトウェアも技術的には同じだ。

クラス名が X であろうと、Foo であろうと、PaymentProcessor であろうと、プログラムは動くし、コンパイラは気にしない。

でも、人間は違う。

命名が悪いコードは、途端に理解不能になる。
チーム開発がうまくいくかどうかは、適切な共通認識を持てるかにかかっている。

変数名やクラス名を見るとき、我々はそれを単なる文字列として読んでいるわけじゃない。

そこから意味や意図を読み取っている

だからこそ言える。

ソフトウェアの魂は、名前に宿る。


今どきのソフト開発と言霊

この「言霊」という考え方、実はソフトウェア設計と驚くほど似ている。

意図(Intent)

隠蔽(Encapsulation)

命名は重要だ。

名前は、意図・構造・理解を一瞬で伝える。

それが、ソフトウェアにおける 言霊


AI時代でも、名前がすべてを左右する

そしてこれは、AI時代になってさらに顕著になった。

精度の高い命名で書かれたプロンプトは、驚くほど質の高いコードを生成する。

AIはロジックだけでなく、私たちが与えた意味(セマンティクス)を処理しているからだ。


GR Naming Cheat Sheet

というわけで、この「言霊」を活かすためにGR Naming Cheat Sheet を作ってみた。

適切な名前に悩んだとき、きっとヒントになると思う。

このシートが、皆さんのコードをほんの少し良くして、そのソフトウェアが、私を含め、誰かを少しでも幸せにしてくれたら嬉しい。

参考資料: