テストコードの注入から始めるレガシーコードのリファクタリング by 風間裕也(ブロッコリー)

JJUG CCC 2022 Spring
採択
2022/06/19 17:00〜
Track B (#jjug_ccc_b)
Video:40min + Live:10min
Intermediate Others Youtube公開予定 メディア取材可 Standard

テストコードの注入から始めるレガシーコードのリファクタリング

nihonbuson 風間裕也(ブロッコリー) nihonbuson
11

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Spring / Cloud / JVM / DevOps / Tools / Mothod / Community / Database / Others]: Others
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
メディア取材可否 / Can you respond to the interview? [Yes or No]: Yes

概要 / Abstract:
近年、テスト駆動開発(以下、TDD)を学ぶ手段が増えています。
様々な機会でTDDを学び始めた人が、現場でぶつかる壁の一つは「レガシーコードなのでTDDが使えない」です。
「レガシーコードをリファクタリングしたいけど、リファクタリングするためのテストコードがない」「テストコードを書きたいけど、レガシーコードなのでテストコードが書きづらい」というジレンマに陥りがちです。
また、レガシーコードのリファクタリングの書籍の多くは、テストコードの大切さを説いている一方で、肝心のテストコードはあまり記述されないことが多いです。
そこで本講演では、テストコードを少しずつ注入していきながらレガシーコードに立ち向かう方法を、ライブコーディング形式でお伝えします。

今回の発表では、以下のコードを用います。
事前にコードを見ておくと、発表の理解が深まります。
https://github.com/nihonbuson/Tennis-Refactoring-Kata/blob/870d192a146e63afb0523685ee5e8fc8ea7049f6/java/src/main/java/TennisGame1.java