去年買った本だけれどやっと手をつけて、読み終えた。
書いてある内容は、処理は細かくしようなど、基本的な事が多かったけど色々学びがあった。 特に印象が残ったこととして、
- コードを書き始める前に、「簡単な言葉で説明できるか」
- 未使用のコードは削除する
- Testを書くときの意識
以上の3つがあった。
簡単な言葉で説明できるか
自分が入社した時によく、「言葉で説明できないものはつくれないから、まず何をするか考えて書き出してみよう」って言われていた。それと同じことなのですが、最近あまり意識してなかったのでいい振り返りになった。新しく入ってきた人に、お仕事をお願いするときに、何をするか書いてもらう => フィードバック => 実装
のような流れにしたら、実装の方向性とか迷わないで済むしいいなと思った。
未使用のコードは削除する
いま関わってるコードでも、未使用のコードが少なからずあって、消すことで思わぬバグになったら嫌だなと放置していた。だけど未使用のものを残していても、管理コストが無駄にかかることになるし、初めてコード見る人が、どこでつかっているのかなと考えたりするので、本当に使うこと必要がないものは早々に消すべきだなとおもった。はやめに負債をなくそう。
Testを書くときの意識
テストはメソッド毎に、数パターン用意して書く、テストしやすいメソッドで書くとかあって、そのへんはだいぶ意識はしているけど、失敗した時のメッセージをわかりやすくする
ということが全く出来ていなかったなと気付かされた。実際に書いてしまっている良くない例だと
is $amount, $hoge * $fuga * 2;
のようなコードがあって、計算結果がamountと同じかどうかをテストしているのだけれど、このテストがfailしたとき、この1文がそのまま出力されるので、よくないなと。直すとしたら例えば
is $amount, $hoge * $fuga * 2, "{テストしたい内容}";
いたいにしたら、failした時わかりやすくなっていいなと思った。または計算の部分に名前をつけるとか。
最後に
読みやすいコードの基本的なところで、気づいていないところがいくつかって、今関わってるプロジェクトに浸透させたいけど、まずは自分が意識して書くようにして、綺麗だなと思ってもらうことから始めるのが良さそう。 今の自分には、人に綺麗だなって思ってもらえるようなコードかく力はないと思っているのでガンバクマツ。