「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック by ZOE

PHPカンファレンス福岡2024
レギュラートーク(15分)

「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック

for__3 ZOE for__3
9

「レガシーなコードは嫌」「リファクタリングして認知負荷の低いコードにしたい」と思っていませんか?
でもいざリファクタリングして、使ってないと思って消したコードが実は使われてて危うく障害になりかけたり、
テストコードを書こうにも、テストコードが書きづらいためにリファクタリングし辛いことも多々あるはずです。

このセッションでは、そういったレガシーなコードに対し、どのようにリファクタリングをしていくとよいか、具体的なテクニックについて話します。

話すこと

  • そもそもレガシーコードをリファクタリングをするかしないかの判断
  • 使ってなさそうな関数には生存確認のログ埋め込み
  • でかい処理にはまず単純な関数分割
  • 改修頻度が高く重要なロジックからテストコードを書く