Featured image of post コードウィザード シリーズ目次

コードウィザード シリーズ目次

見習い魔術師ルークの失敗と、師匠の問いから生まれる設計を、Kotlin のコードで追う全12話の目次。困りごと別の一覧から、読みたい話を選べます。

困りごとを抱えた依頼人のコードを、見習い魔術師ルークが直していく全12話の連載です。ルークは覚えたての技を盛りたくなっては失敗し(終盤の2話では踏みとどまり)、師匠の問いかけから、ちょうどいい設計にたどり着きます。実装は Kotlin です。

どの話からでも読めます。Kotlin の構文は、主なものを出てきた近くで説明します。直す前と後のコードを見比べて、何が変わったかを追えれば十分です。

このページは目次を兼ねた案内板です。初めてなら「まず読むなら」の3本から、手元に困っているコードがあるなら「困りごとから探す」から選んでください。

まず読むなら

  • Strategy — 割引を足すたびに式が暴れる回。条件分岐の増殖は多くの現場で出会う困りごとで、盛りすぎて自滅するルークの失敗も含め、連載の型がいちばん素直に出る
  • Null安全 — 検索で null を踏んで止まる回。パターン名を知らなくても、Kotlin を書くなら明日のコードにそのまま使える
  • State — フラグを増やした末に、ありえない状態へ入り込む回。真偽値フラグを3本ほど並べたコードを抱えているなら、いちばん効く

困りごとから探す

条件分岐が増えて、足すたびにどこかが壊れる

  • Strategy — 割引ごとに分かれた式
  • State — フラグの組み合わせで管理する許可証の状態
  • Factory Method — 通知の種類ごとに、全部の窓口へ書き足した振り分け

変更が広がる、1つ直すと別の所が壊れる

  • Observer — 通知先を足すたびに在庫処理を書き換えている
  • Decorator — 組み合わせごとにクラスが増えていく
  • Facade — 1つのクラスに登録・設定・通知・計測が同居している

null や共有で、値が思わぬ形に変わる

手を入れられないもの、戻せないものがある

  • Adapter — 作り変えられない外部データを共通の形で扱いたい
  • Command — 取り消せない操作を、巻き戻せる形にしたい

設計を盛りすぎていないか不安になる

  • YAGNI — まだ頼まれていない拡張の仕組みを入れたくなる
  • KISS — 覚えた設計を全部使いたくなる

全話一覧

comments powered by Disqus
システム開発・AIワークフローのご相談は Meetsource へ
Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。