読者です 読者をやめる 読者になる 読者になる

methaneのブログ

このブログに乗せているサンプルコードはすべてNYSLです。

命名法2

hogeNumにするか、numHogeにするか。まず、これは、"hoge number"と"number of hoge"の略である。numberだからnumに直感的に略せるけれども、これがamountだとamntとは直感的に略せない。直感的に略せないものを略するのは可読性を下げるので却下。略せない単語は、前置型だと"of"を省略すると不自然になる*1ので、必然的に後置を選択することになる。
それさえ気をつければ、前置・後置問題は、狭い範囲(多くの場合はファイルが単位になる)で統一されていれば全く問題ない。

で、こっからは"num”限定の話。"numHoge"だと、Hogeという集合に属する要素の数なのか、何かの集合の中でHogeがとるIndexなのかが判別できない。前者の場合は、"numHoges"や"hogeSize、後者の場合は"hogeIdx"(Index),"hogeId","hogeItr"(Iterator)、のように、numじゃない単語を使った方が迷わず読める。

*1:numHogeは自然に「numが主役でHogeは何のnumかを説明している」と読めるが、numberHogeだと真っ先に「numberなHoge」が浮かんでしまう