私は現在、スクラム、TDD、ドメイン駆動設計、およびボブおじさんのレシピに従って 1 年間働いています。 . 私が間違っている場合は、私を修正してください! 問題は、TDD とスクラムが、要件が現れたらそれを実装するシステムを進化させ、事前の設計を避けるべきであると述べているところから始まります。これにより、あらゆる種類の拡張パターンを常に使用して、すべての拡張ポイントを開いたままにします。これには確かに「暗い面」があります。つまり、システム全体が複雑になります。コードの特定の部分をさらに進化させる必要があるかどうかは、前もってわかりません。
しかし、どこでも (そして JAA で実際に頻繁に) 正しく述べられているように、必要な場合にのみ複雑さを追加する必要があります。この私見は、適切な事前分析が行われるべきであるという結論に至ります...残りのレシピと矛盾しています...
したがって、ループ....ああ、私は循環依存関係が嫌いです!!!
機能が「確認」された後、複雑さを軽減するために物事をリファクタリングする必要がありますか? 許可されている最も単純な方法を使用し、必要な場合にのみ拡張する必要がありますか? たとえば、必要のない超分離されたものを作成しないでください。
(質問のスタイルと内容を改善するための提案は大歓迎です。私はstackoverflowの初心者です)