最初のシナリオは、ホイールの再発明にも当てはまります。
2番目のシナリオは、既存のコードがほとんど変更を必要としない場合は適用されませんが、必要な場合は、既存のコードと同様のプロパティ、メソッド、および使用法を使用することをお勧めします。 "ホイール"。
「常に最初から始める方がよい」というアプローチには注意してください。予想よりも時間がかかる場合があります。
3つ目のシナリオは、その "実用的な"アプローチです。「与えられた車輪」はその仕事をするかもしれませんが、実際には、あまりにも多くのリソース、メモリ、速度などを消費します。
単一のテーブルからツリービューコントロールに階層データを表示する必要があるアプリケーションで一度作業しました。これを実行できるコントロールは既にありますが、アイテムごとにいくつかのテーブルをサポートしています。
それを使用するためには、多くのことを学び、あまりにも多くのプロパティを割り当て、あまりにも多くのメソッドを実行しなければならず、ITが遅くなりました。同僚は、「ホイールを再発明しない」ために、それを使用することを主張しました。
私は新しいコントロールを最初からやり、1つのテーブルを読み取り、いくつかの学習しやすいプロパティのみをプログラムしました。そして、私がそれを知る前に、共有コードリポジトリからそれを取得し、以前のコントロールを置き換える別の同僚がいました。
ボーナス:
あなたが既に持っている車輪が「二乗」されるとき。「二乗」とは、表面的には問題の解決策のように見えますが、よく見ると、結論は得られますが、そうではありません。
車輪を再発明するためのスキルと時間(および会社の承認)があるかどうかによって異なります。