🧑‍🏫

コード上の命名について

に公開

はじめに

アプリケーションのソースコードにせよTerraform等のIacにせよ、名前をつける作業は避けて通れません。
変数名やTerraformのリソース名において、命名で重視したいのは「可読性」だと私は考えています。
可読性が低い命名は、「その名前が何を意味しているか」を都度脳内で変換する負荷が発生します。

読みにくい名前は「語順」か「品詞」に原因があることが多い

私の経験では、多くの場合、語順が不自然か、使っている品詞に違和感があることで、読みづらさが発生していると感じています。

この2つのどちらか(あるいは両方)が崩れていると、名前を読んでも意味がスッと入ってこず、脳内で「つまり何?」と変換作業が発生してしまいます。

語順がおかしい例

たとえば、変数名で「建物の点検」を表すときに
inspectionBuilding とすると翻訳すると「点検用の建物」みたいな意味になってしまいます。
語順としてはbuildingInspectionのほうが文法的に正しく直感的です。

品詞がおかしい例

たとえば、「完了したタスク」を表す変数名としてcompleteTask
としてしまうと、「タスクを完了させる」のように読めてしまい、名詞としての意味が伝わりにくいです。
名詞として表現するならcompletedTaskのように、過去分詞を使って状態を表すのが自然です。

おわりに

命名には絶対的な正解があるわけではありません。
しかし、英語として読めるかどうかという観点を持つだけでも、命名の品質は大きく向上します。
可読性の高い名前は、自分の未来の理解を助け、チームの開発体験も改善します。
読めばわかる名前を目指して、日々の命名を丁寧にしていくことを心掛けていこうと思います。

Discussion