Skip to the content.

良いコード/悪いコードで学ぶ設計入門

悪しき構造の弊害を知覚する

設計の初歩

クラス設計 すべてにつながる設計の基礎

不変の活用 安定動作を構築する

低凝集 バラバラになったモノたち

条件分岐 迷宮化した分岐処理を解きほぐす技法

コレクション ネストを解消する構造化技法

密結合 絡まって解きほぐせない構造

設計の健全性をそこなうさまざまな悪魔たち

名前設計 あるべき構造を見破る名前

「このフラグが立っているときの User は要注意会員」
「この行の price は新品価格で、次の行の price は中古価格」
「Ticket クラスは、年齢が60歳以上ならシニア料金用になって、さらに平日なら平日のシニア料金用に変わるんだ」

それぞれ、

という風に、クラスを分けたらいかがか。

コメント 保守と変更の正確性を高める書き方

メソッド(関数) 良きクラスには良きメソッドあり

モデリング クラス設計の土台

リファクタリング 既存コードを成長に導く技

ただ、TDD は仕様がわかってる状態じゃないとできない。仕様がわからない、でも障害対応しなきゃいけない・リファクタしなきゃいけない、という場合、どうするのです……?

コラムより引用

静的型付け言語に比べ、動的型付け言語のリファクタリングは高難易度です。責務や構造がどうあるべきかを、より深く考える契機になり、自分の設計スキル向上につながっている実感があります。

いや、えらすぎ。「動的型付けはクソ」とか脳死で言ってる自分との格の違いを見せつけられている。

設計の意義と設計への向き合い方

設計を妨げる開発プロセスとの戦い

設計技術の理解の深め方

ホームへ戻る