LoginSignup
1
0

More than 3 years have passed since last update.

読書会「プログラマが知るべき97のこと」 #10

Posted at

1.今回の読んだ記事

No.6 リファクタリングの際に注意すべきこと 
著者: Rajith Attapattu

2.記事の概要

既存のコードを活かす

  • リファクタリング対象のコード、テストの徹底的な掘り下げが必要
    • 良い点、悪い点、コスト
  • そのリファクタリングが本当に必要なのか?
    • どんなにひどいコードでも、一度テストに通っているコードを変更してまでリファクタリングする必要があるのか

3.この記事を選んだ理由・感想

理由

  • 現在業務でリファクタリングを行っているため、何か活かせないかと思った
  • いままでプログラミングを学習しているときに、リファクタリングまで行ったことがなかったため

感想
今までに必要になった時にリファクタリングはするものだと安易に考えていたが、「それが本当に必要なのか?」を極限まで考える必要があることを学んだ。

4.議論

リファクタリングにおいて、失敗したことはありますか?

  • やらなかったほうがよかったと思ったこと、またその理由を教えてください
    • やらないほうがよかったことがあります!(各自、経験談を語る)
      • 修正した結果、画面に表示されなくなってしまった
      • 冗長な記載があったので修正したが、画面表示がおかしいところが発生してしまった
        • テストが不足していたと思う
        • すぐに気づいて修正したので問題にはならなかったのでよかった
      • 内部ツールなので大ごとにはならなかったが、リファクタリングで修正したことにより問題が発生してしまった

リファクタリングをする際の注意点、気にすること

  • 変数、メソッド名などの命名を気を付ける
  • 無駄な処理がないか、代替で利用できるライブラリがないかも検討する
  • 処理が停止するところに着目して、おかしな値が入ることがないのかを見る(例えばNULLが入る可能性など)
  • 設計書通りに作られているか、動作が変わらないか
  • 再度ちゃんと試験するならば、必要のあるリファクタリングは実施してよいのでは?

まとめ

今回は配属された新人さんが担当になったので、いきなり任されて大変だったかもしれない。
それでも頑張ってまとめをして議題も出してくれたこともあり、話も弾んで新しいメンバーによる発表は新鮮だった。

総括

実は今回が最終回です。
1年間やってきたけれど、やってみてどうだったのかを一度みんなで振り返りをやりたい。
次のシーズンも「もう少し続けたいな」と思うが、他にやりたいことが出てきたのでいったんこの読書会は終了します。

よかったこと

  • 短いエッセイだったので手間をかけずに読めるため、続けやすかった
  • 担当者を決めて話しい内容を事前に議題にまとめてもらったので、議論はスムーズだったと思う
  • いろいろな意見が聞けて、メンバーとコミュニケーションするためのいい機会になった(お酒を飲みながら開催できたり)

改善したいところ

  • テーマが偏ったなかと感じる。同じ業務なので志向が偏ってしまった感じがあって、毎回全然違ったテーマが取り上げられることがあったらよりもおもしろかったかもしれない
  • 議題以上に盛り上がるのは難しかった気がする(おしゃべりな人が少ないから・・・?)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0