現在、3人の開発者がいて、いくつかは相反するスタイルを持っています。私は王国に平和をもたらす方法を探しています...
コーダー:
Foo 1:パブリックメソッド内でFuncとActionを使用するのが好きです。彼は、アクションを使用して長いメソッド呼び出しをエイリアス化し、Funcを使用して、1行または2行で表現でき、コード全体で頻繁に使用される単純なタスクを実行します。
長所:彼のコードの本体は簡潔で非常に読みやすく、多くの場合、クラスごとに1つまたは2つのパブリックメソッドしかなく、プライベートメソッドはほとんどありません。
短所:メソッドの開始には、他の開発者が読むのが好きではないラムダリッチコードのブロックが含まれています。また、場合によっては、他の開発者が本当に読みたくない高階関数を含めることができます。
Foo 2:パブリックメソッドが実行する必要のある(ほぼ)すべてのプライベートメソッドを作成するのが好きです。
長所:パブリックメソッドは小さくて読みやすいままです(すべての開発者にとって)。
短所:プライベートメソッドは多数あります。他のプライベートメソッドを呼び出すプライベートメソッド、...などを呼び出すプライベートメソッドを使用します。コードをナビゲートしにくくします。
Foo 3:実行する必要のあるすべての重要なタスクに対して、単一のpublicメソッドを使用してパブリッククラスを作成し、依存性によってそれらを他のオブジェクトに注入するのが好きです。
長所:簡単にテストでき、理解しやすい(1つのオブジェクト、1つの責任)。
短所:プロジェクトはクラスによって散らかされ、複数のクラスファイルを開いて、コードの機能を理解するとナビゲーションが煩雑になります。
これらすべてのテクニックを最大限に活用するのは素晴らしいことです...
Foo-1は、メソッドの開始時にまとめられたすべてのActionラムダシェナニガンとFuncラムダシェナニガンを除いて、ほとんどの場合、非常に優れた、読み取り可能な(ほぼdslのような)コードを持っています。
Foo-3は、高度にテスト可能で拡張可能なコードを備えており、一部のソリューションでは少し「中かっこ」を感じ、コードナビゲーションの微妙な違いがあります(VSで常にF12を押し、他の5つの.csファイルを開いて単一のファイルを確認します)メソッドは行います)。
そしてFoo-2...ジュニアが掘り下げやすいという事実を除いて、2つのパブリックメソッドと12のプライベートメソッドを含む1つの巨大な.csファイルについて何かが好きかどうかはわかりません。
私は、これらのコーディングスタイルの説明を大幅に単純化しすぎたことを認めます。しかし、3人の開発者を団結させるのに役立つパターン、慣行、または外交的操作を知っている人がいれば、それは素晴らしいことです。
実現可能性の観点から:
- Foo-1のスタイルは、ラムダやFuncが読みにくいと感じる開発者がいるため、最も抵抗があります。
- Foo-2のスタイルは、簡単に陥りやすいため、抵抗が少なくなります。
- Foo-3のスタイルは、最も前向きな考え方を必要とし、時間が短い場合に実施するのは困難です。
これを機能させることができるいくつかのコーディングスタイルまたは規則に関するアイデアはありますか?