これは自分の特徴かもなと思ったことがあったので少しまとめておきたいと思います
結論から言うと「隅々まで理解できていることが、楽しいし、安心する」です
昨日ちょっと大きめの改修をリリースしました
自分としては、今までプロダクトにおけるインパクトの大きい機能のリリースに全面的に関わってリリースするという経験があまり多くなかったので、結構不安も緊張もありました
でもなんとかリリースのフローに載せるというか、リリースできました
うまくPMの方にも助けてもらった部分もあって
その中で、なんとなく自分の作ったものに自信がないというか、まぁいいかみたいな妥協がずっとありました
なぜそう言うふうに感じしまっていたのか、自分にも理由がよくわかっていなかったんですが、昨日ちょっとわかった気がして
それが「理解できない部分や、なんとなく納得いかない部分がたくさんあった」からかもしれないと思いました
今回の機能は、結構実装の期間の短さの割に、重い機能でした
なので、期間を重視することで、品質を落として、テストをなしでリリースすることになりました
テストなしでリリースしたことは今までにもありましたが、ここまで大きな機能を全くテストなしでリリースしたことはなかったし(自分がメインで携わってと言う意味で)、どうなるのか少し不安な部分はありました
その上で、気づいたことが、テストがないと、なんとなく動くものができて、その実装に自信が持てないと言うことです
プラス、テストを書くことで細かな点に気づくことができ、品質が向上すると言うことです
自分は性格的に、スピードでガッと作って、動くものをドーンと出すよりも、丁寧に作りたいし、細かな部分に気を配りたい性格なんだと改めて今回思いました
多分完璧主義者なんだろうなと
だから今回、動くコードだけを作って思ったのは、「なんかモヤモヤする」「なんかやる気がでない」等感覚だったのかなと思いました
なので自分としては、この自分に合った開発フローにのせて行きたいし、この自分に合った開発フローの方が、コードを書くこと自体も楽しいので、このレールに乗っていけるように、持っていきたいです
ただどうやるといいのかなぁと思っています
結局、コードを永遠に書き続けていられるわけじゃなく、納期がありますし、品質やコスト、タスクの優先度などもあります
だから、どうやって進めるといいんだろうと思っています
現状は、コードだけをどかっとまず書いて、動くものを作っちゃいます
そのあとで、テストを書いていって、細かく修正を繰り返して品質アップします
このやり方だと、やっぱりテスト書くのが後々億劫になることはあるんですよね
あとは、コードを書いた内容を忘れてて、どうやってテストしたらいいんやということがわからなくなってしまうということもあります
あと、全部が全部テストできるわけじゃないので、TODOとか、コード上で理解できてないことを理解するためにコメントを残しておくとかして、うまいこと全部を理解できてない状況を許容することも大切かもしれません
ただしっかりラベルしておいて、優先度をつけて理解していけば、本当に細かなことは省いてもいいかもと思いました
じゃないと先に進めないと思うので
あとは開発する中で、実装したら、その部分をすぐテストするコードを書くですかね
これはやったことがあるようで、多分ないと思います
現実的にやってみることができそうなのは、これかなぁと思いますかね
あとはTDDかなぁ
TDDってなんとなく難しいんですよね
なんで難しいのかなと思うんですが、一つは見通しが立てられないことかなぁ
テストから先に書くって言うことは、期待値が理解できてないといけないですよね
例えばコントローラーのテストを書くってなった時に、対象のアクションが200のレスポンスを返すとかっていうことを事前に見通せる必要がある気がします
それがモデルのビジネスロジックになった時、どこまで見通せるんだろうと言うのは思いますかね
ある程度は見通せたとしても、そこに抜けや修正が必要なことが必ず追加されるので、TDDでの開発は難しいんじゃないかなと思ったりします
プラス、テストが間違ってて、テストが通らないパターンも普通にあるので
あー、でもこうやって考えてみると、例えば抜け漏れがあったら、それを都度テストの方に記載していけば、良いかもしれませんね
またテスト側で落ちてるのか、コード側で落ちているのかは、デバッグすればわかることなので、それで良いのかもなぁと思いました
今度、テストから書いてみようかなぁと思えてきますね
性格的にもあってそうな気がする
正し、時間かかるのがネックなんですよね…
テストから探し始めるって言うアプローチは、新鮮ですが、ちょっとやってみたいと思います
あ、あとこれから書きたい内容を以下の部分にまとめておくことで、続けていこうかなと思いました
では!
- もらえる年金ってこんな少ないのか、ライフプラン考えなきゃ
- おじいさん投資家しげるさんの「言い訳しないでやること」に共感した話
- vscodeのupdateか何かで、タブが自動で動いて嫌な話
- 確信のないことをパッとしゃべるのはやめたい話