パルカワ2

最近はFlutterをやっています

ソフトウェア品質を高める開発者テスト アジャイル時代の実践的・効率的なテストのやり方 を読んだ

ソフトウェアテストの基礎はソフトウェアテストの教科書によって理解できたので更に深堀りしたいなと思って社内のおすすめ本一覧にあったこの本を読んだ。

気づきがあったのは、このツイートに書いてることで複雑度が高くてhotspotが高いコードはそのままでもバグが起きる場所なんだから早めにリファクタリングしたほうがいいみたいなの書かれてるのはなるほどと思った。

と書いてて思ったけど、前職でAndroidアプリをリファクタリングしているときは機能追加や変更をする場所からリファクタリングして、リファクタリングが終わったあとに機能追加や変更をしていた。一気にリファクタリングとか出来ないからそうしてたんだけど間違えてなかったんだなと思った。実際かなり早く機能追加の実装が終わったりしてたし。「ソフトウェア品質を担保するにはリファクタリングは必須」と書かれていて僕もそれに同意見でとにかくリファクタリングが重要だと思う。

ただこんな感じでよくわからないところもある。

クラス図とか図を書く意味が正直よくわからなくて、実装より前に書くならテストを書いたほうが良いのではないかと思ってしまう。どうなんだ。このあたりはもしかしたらTDDの話につながっていくのかもしれない。

ちなみにこの本は、Kindleに最適化していたので読みやすかった。あとリファクタリングだけじゃなくSHIFT LEFTとかにも言及していたりしてよかった。

そして例のごとく知ってそうなところは飛ばした。