このサイトの関連する質問リストをちらっと見ただけで、考えさせられました。次のような質問がたくさんあります。
- パッケージで XYZ をデプロイするか、他のパスへの参照を追加する必要がありますか?
- 単体テストを実行するために nant/cruisecontrol/etc.. を構成するにはどうすればよいですか?
- XYZ セットアップで単体テスト用の構成ファイルをどこに保管すればよいですか
- 等...
現在、(.NET と Visual Studio を使用して) 開発するときは、非常に具体的なディレクトリ構造を選択します。
- doc: すべてのドキュメントが含まれます
- lib: コンパイル済みの依存関係が含まれています
- src: すべてのプログラム ソースと依存関係ソースが含まれます
- etc: プロジェクトに関連するその他のファイル
- bin: コンパイルされたプログラム出力
一般的に言えば、そのディレクトリ構造内で何かを実行できない場合は、単純に実行しません。これには、単体テスト、継続的統合などが含まれます...同じ観点から、OSまたはネットワーク参照を除いて、プログラム全体がbinディレクトリから実行されます。プログラムのルート ディレクトリに存在しないファイル システムへの依存関係を導入することを拒否します。私は開発のいくつかの本当にクールな側面を見逃していると確信していますが、私はクルーズコントロールを試してみました。正直に言うと、多くの小さなプロジェクト (200 以上の小さなプロジェクト数個 (10 ~ 20 個) の大規模なプロジェクトとは対照的に、これらのツールを使用する利点のいくつかよりも単純さの方が望ましいと正直に言えます。
私の質問は、私はただの単純な人ですか、それとも特定のことが必要以上に複雑であるように見えるのでしょうか? この「すべての人に合うように設計する」という考え方全体が、物事を成し遂げるのを邪魔しているように思えます。