はじめに
プログラミング言語に依らず役立つ命名規則の tips について、時々必要になるが、その時には多分忘れているであろう知識を書き残しておく。
形容詞の順番
複数の形容詞が連続して名詞を修飾するとき、順番に悩むことがある。例えば running_lower_priority_tasks
と lower_priority_running_tasks
のどちらが適切だろうか? running と lower_priority のどちらが先か、意味的にはどちらでもよい。設計資料やコードの中で一貫性を保てるか否か最も重要である。何らかのルールが無ければすぐに発散する。私が採用するルールは下記である:
「性質の移ろい易さが昇順または降順となるように命名する」
まず、task が task であることはインスタンスの存在期間中変化しない。次に、 running か否かという性質と priority の変化し易さを比較する。ここでは running の方が変化し易いとする。このとき、順番は running → lower priority → task またはその逆順の二択となるが、変数名としては前者が自然であろう。結局、適切な名称は running_lower_priority_task
となる。