発表1行コード210613

2785 ワード

第10章クラス


単一責任の原則。


クラスまたはモジュールを変更する理由は1つだけです.
責任==変更理由
単一責任の原則を無視した例
class Animal {
    constructor(name: string){ }
    getAnimalName() { }
    saveAnimal(a: Animal) { }
}
単一責任の原則を遵守するように変更
class Animal {
    constructor(name: string){ }
    getAnimalName() { }
}
class AnimalDB {
    getAnimal(a: Animal) { }
    saveAnimal(a: Animal) { }
}

変更から分離


インタフェースと抽象クラスを使用して実装の影響を分離する必要があります...!

DIP


自分よりも変わりやすいものに頼るのではなく、変えにくいものに頼るのです.
適用前

適用後

第11章システム


システムの作成と使用を分ける。


以下は使用と製作を分離する仕組みです.

しゅだんかい



こうじょう



依存性注入


ex)スプリングフレーム:JavaDI容器を提供する.

拡張

  • を省略します.
  • クリーンコード12章作成


    クリエイティブ:下位層(コンポーネント)にない特性や動作は、上位層(全体構造)で自発的に発生します.
    以下に重要度順を示します.

    すべてのテストを実行

  • のテストボックスを作成し、回転を続けます.
  • の設計品質を向上させる.
  • 重複除外

  • 冗長性は、追加のタスク、追加のリスク、および不要な複雑さを意味します.
  • 君の意図を伝える

  • の良い名前を選択します.
  • 関数とクラスサイズをできるだけ減らします.
  • 標準名を使用します.
  • 単位のテスト例(サンプルドキュメント)をよく記入します.
  • クラスとメソッドの数を最小限に抑える

  • SRPを極端に適用すると、損失は補償されません.
  • ターゲット:より小さな関数とクラスサイズを維持しながら、より小さなシステムサイズ(複雑さ)を維持します.
  • の実用的な方法を選択します.
  • 参考資料


    第10章参考資料


    https://doublem.org/SOLID_SRP_OCP/
    https://server-engineer.tistory.com/228

    第11章参考資料


    https://velog.io/@jwkim/Clean-Code-11%EC%9E%A5-%EC%8B%9C%EC%8A%A4%ED%85%9C
    https://tech-interview.tistory.com/119
  • 抽象工場、工場モデル関連資料
    https://victorydntmd.tistory.com/300
  • https://victorydntmd.tistory.com/299

    第12章参考資料


    https://velog.io/@jwkim/Clean-Code-12%EC%9E%A5-%EC%B0%BD%EB%B0%9C%EC%84%B1