N行の手続き型のコードから複雑なロジックをクラスに切り出してUT増やして保守性を改善した話 by チャブ

PHP Conference Japan 2024
レギュラートーク(25分)

N行の手続き型のコードから複雑なロジックをクラスに切り出してUT増やして保守性を改善した話

チャブ
5

事業の成長スピードに追いつくためにスピード優先で開発した結果のコードに、このような特徴がありました。

  • DBとの接続や外部サービス通信、業務ロジックなどすべてが詰め込まれている
  • 何が業務ロジックで何がそうでないかが判断しづらい
  • データに型がなくすべてがarrayである
  • テストがない

あるとき、機能追加に伴いコードの保守性が低いことに危機感を感じてリファクタリングに踏み切り、業務ロジックの切り出しなどユニットテスト可能にしていく対応を行い、非常に扱いやすくすることができました。

このセッションでは、リファクタリング活動について、修正前コードと修正後のコードがどのように変化したのか、安全にリファクタリングを行うためにどのようなテストを用意したのか、リファクタリング活動を通して気づいたこと/学びについてお話します。