私は「良いデザイン」、「デザインパターン」などに関するさまざまな本を読むのに多くの時間を費やしました。私は、SOLIDアプローチの大ファンであり、簡単なコードを書く必要があるたびに、未来。したがって、新機能またはバグ修正を実装するために、次のような3行のコードを追加するだけでよい場合:
if(xxx) {
doSomething();
}
この方法でやるという意味ではありません。このコードが近い将来大きくなる可能性が高いと思う場合は、抽象化を追加したり、この機能を他の場所に移動したりすることを考えます。私が追求している目標は、平均的な複雑さを変更前と同じに保つことです。
私は、コードの観点から、それは非常に良いアイデアだと信じています-私のコードは決して十分に長くはなく、クラス、メソッド、クラスとオブジェクト間の関係などのさまざまなエンティティの意味を理解するのは非常に簡単です。
問題は、時間がかかりすぎることです。その機能を「そのまま」実装した方が良いと思うことがよくあります。「3行のコード」と「新しいインターフェイス+そのインターフェイスを実装するための2つのクラス」だけです。
製品の観点から(結果について話しているとき)、私がすることはまったく無意味です。次のバージョンで作業する場合、優れたコードを持つことは本当に素晴らしいことを知っています。しかし、一方で、コードを「良い」ものにするために費やした時間は、いくつかの便利な機能の実装に費やされた可能性があります。
私はしばしば結果に非常に不満を感じます-Aしかできない良いコードは、A、B、C、Dをできる悪いコードより悪いです
このアプローチは、ソフトウェアプロジェクトにプラスの純利益をもたらす可能性がありますか、それとも時間の無駄ですか?