開発
続・わかるコードを書くために
Taro Aoki
こんにちは。
そろそろ本格的な夏が到来するので、テンションが上がってきているアルバイトの青木です。
先月頃に社内勉強会で「わかるコードを書くために」というタイトルでコーディングテクニック(?)についてのプレゼンを行いました。
プレゼン自体は既にSlideShareにアップロードされているため、どなたでも自由に閲覧することができます。(http://www.slideshare.net/EyesJapan/for-writing-clean-code)
今回は、この勉強会であまり触れられなかった点についていくつか言及したいと思います。
命名規則がわからない
プロジェクトに途中で参加したり、過去のプロジェクトのソースコードを見るときに、そのコードがどんな規則によって書かれたものであるかわからないことが良くあります。
そういうときは無理に何処かの命名規則を適用しようとしたりしないで、そのコードで使われている書き方に従うべきです。
なぜならば、自分だけの判断で書き方を変えるというのは「コードの私物化」にすぎないからです。
どうしても新しい命名規則を適用する必要がある場合は、プロジェクト全体で共有すべきです。
正しいメソッドに処理を割り当てる
たまにメソッド名と実際の挙動が微妙に異なっていたりする場合があります。また、メソッドの役割が大きすぎて神のメソッド化している場合もあります。
そういう時はメソッドを分割し、単一責任原則を守るようにしましょう。
また、入力に対して出力が明確になるように意識するとコンパクトなメソッドになると思います。ユニットテストを書こうとすると、必然的に入力と出力をしっかり作らないといけなくなるので、テストを書くことでメソッドの役割が明確であるという裏付けもできます。
パフォーマンスとの兼ね合い
基本的にリファクタリングと最適化は対になる存在です。
綺麗にコードを書こうとすると、どうしてもコードが冗長になってしまう部分が出てくると思います。
ただ、リファクタリングと最適化は共存することが可能です。まず、リファクタリングをすることでコードの見通しが良くなります。
その後、最適化を行っていくことができます。リファクタリングはそれ自体が目的ではないのです。
ビューとロジックの分離
有名なデザインパターンにMVCパターンがあります。これはビューとロジックをコントローラを介して分離するというデザインパターンです。
基本的にこういったパターンはGUIのアプリケーションなどでよく利用されますが、スクリプトを書くときにも役立てることができます。
MVCほど明確に分けることはしないと思いますが、ロジックと表示を分離するだけでもだいぶ見やすくなります。
わかりやすいコードはシンプルなテクニックの合わせ技の元に成り立っていることがほとんどです。
意識さえしていれば、後はコードを書いている内に色々な違和感を感じることができるようになると思います。
これらのことがお役に立てば幸いです。