雰囲気でネーミングするのを止める

今まで雰囲気でネーミングしてきたように思う。 反省している。 これからは可読性や効率性を高めるネーミングをしていきたい。 そのためには具体的に何をすればよいだろうか。

それぞれのコーディング規約に従う

それぞれの領域で広く参照されているコーディング規約がある。 その規約に従うのが最も確実だと思う。 というのも、多くの人がその規約に従っているので、それに従ったコードは多くの人にとって読みやすいものとなるからである。 もし、チーム内で規約が定められているならば、それに従うことになると思う。

コーディング規約には必ず命名規則が含まれている。 PythonのPEP8にもあるし、 Airbnb Javascript Style GuideGoogle Javascript Style Guideにもある。 まずはそれを読み、その命名規則に従うところから始める必要があるだろう。

正しい英語を使う

コーディングしているとパッと適切な英語が思い浮かばないことがしばしばある。 そういう時、知っているが恐らく不適切であろう英語でお茶を濁したりしてきた。 これからはきちんと調べて、なるべく正しい英語を使っていきたい。

開発者の方々によるまとめや命名のためのWEBサービスはとても参考になり、便利である。 例えば、有名だが下記のようなものが参考になると思う。

  1. Codic
    Google翻訳のように日本語を英語の変数名やメソッド名に変換してくれる。

  2. Naming -名前付け-
    著名な書籍の名前付けについての情報をまとめているページ。

  3. うまくメソッド名を付けるための参考情報
    どのような種類のメソッドにどのような名前を付けるかについて書かれている。

こうした情報を参考にしながら、その時々に適切なネーミングを心がけたい。

変数やメソッドの役割を明確にする

良いアークテクチャは、良いネーミングと対になっていると聞いた。 まだ、この言葉の意味するところがまだ腹から分かっていないような気がする。 でも、何となくは分かる。 例えば、メソッドの役割が自分の中で明確になっている時は、割と自信を持って命名ができる。 そうでない時はなかなか適切な名前が思いつかない。

だから、例えばメソッドなら

  1. 何を操作するか
  2. どこからデータを取ってくるのか
  3. 戻り値の型は何なのか

といったことを先に考えた上でコードを書き始めることが大事なのだろう。 そうすれば、その部分のコードを書き終えた時に自然と名前は浮かんでくる。

上のリンクの記事では、将来的にメソッドや変数の役割が変わるところまで見越して、ネーミングすべきだと書かれている。 自分はまだまだ目の前のタスクをこなすためのコードを書くことに集中するばかりで、その域にはまだ達していない。

とは言え、命名法から始まりプログラムのアーキテクチャにも意識を置いていかねばならないのだろう。

終わりに

これだけは絶対避けましょう。

f:id:oishouya:20171110215651p:plain