🧑🏫
コード上の命名について
はじめに
アプリケーションのソースコードにせよTerraform等のIacにせよ、名前をつける作業は避けて通れません。
変数名やTerraformのリソース名において、命名で重視したいのは「可読性」だと私は考えています。
可読性が低い命名は、「その名前が何を意味しているか」を都度脳内で変換する負荷が発生します。
読みにくい名前は「語順」か「品詞」に原因があることが多い
私の経験では、多くの場合、語順が不自然か、使っている品詞に違和感があることで、読みづらさが発生していると感じています。
この2つのどちらか(あるいは両方)が崩れていると、名前を読んでも意味がスッと入ってこず、脳内で「つまり何?」と変換作業が発生してしまいます。
語順がおかしい例
たとえば、変数名で「建物の点検」を表すときに
inspectionBuilding
とすると翻訳すると「点検用の建物」みたいな意味になってしまいます。
語順としてはbuildingInspection
のほうが文法的に正しく直感的です。
品詞がおかしい例
たとえば、「完了したタスク」を表す変数名としてcompleteTask
としてしまうと、「タスクを完了させる」のように読めてしまい、名詞としての意味が伝わりにくいです。
名詞として表現するならcompletedTask
のように、過去分詞を使って状態を表すのが自然です。
おわりに
命名には絶対的な正解があるわけではありません。
しかし、英語として読めるかどうかという観点を持つだけでも、命名の品質は大きく向上します。
可読性の高い名前は、自分の未来の理解を助け、チームの開発体験も改善します。
読めばわかる名前を目指して、日々の命名を丁寧にしていくことを心掛けていこうと思います。
Discussion