命名・関数の分け方・早期リターンから、SOLID・依存性注入・ポートとアダプタ・特性テスト・ADR まで。全30レッスンで「動くコード」を「読めて、変えやすいコード」に直せるところまで進みます。どの回も悪い例と直した例を Python と Java で並べ、同じ入力に同じ答えを返すことをテストで確かめています。
全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ コードは Python 3.14 + pytest 9 と Java 21 で実際に動かしたものです。標準ライブラリだけで動く回は、ブラウザ内で before と after を実行して見比べられます。pytest と Java のテストは手元で試してください。
名前・関数の長さ・コメント・入れ子の深さといった、読んだ瞬間に引っかかるところを直します。最後はマジックナンバーと重複を「コードの臭い」として見分け、直しどころの一覧を手に入れます。
関数の抽出・重複の除去・引数オブジェクトで、処理とデータのまとまりを作り直します。最後は副作用と問い合わせ・更新を切り分け、テストしやすい関数の形まで進みます。
単一責任・開放閉鎖・リスコフの置換・インターフェース分離・依存性逆転の 5 つを、1 回に 1 つずつ悪い例と直した例で確かめます。最後は 5 つを 1 本のコードに重ねて、原則どうしがどう支え合うかを見ます。
依存性注入・ポートとアダプタ・レイヤで、本体のロジックを DB や時計やネットワークから切り離します。最後はそれらを組み合わせたミニアプリを、演習として自分で組み立てます。
テストの無いコードの今の動きを写し取り、継ぎ目を見つけて、小さな一歩ずつ安全に直す手順を身につけます。最後はレガシーな関数を、テストで守りながら演習として作り直します。
コードレビューの観点、技術的負債の見える化、設計判断の記録(ADR)で、良い設計を 1 人の努力からチームの習慣に変えます。最後は ADR とコードを対応づけて、全30回を締めくくります。
全30レッスンを終えたら、設計の判断を開発の工程に乗せる システム開発入門コース や、レビューと振り返りをチームで回す アジャイルスクラム入門コース へ。テストの書き方を深めるなら テスト技法入門コース も。メンバーシップで全コースが解放されます。