プラットフォームにとらわれない開発チームの覇権を築く


9

私は、開発チームでさまざまなスキルセットを持っている会社で働いています。

私たちは以下のすべてを行います(一般的にはウェブ向けです):

  • .NET(MVC、Umbraco、ASP.NET、Surface)
  • Java(Spring、Hibernate、Android)
  • PHP(Zend、コードイグナイター)
  • アクションスクリプト3
  • 空気
  • Objective-C
  • HTML / Javascript(明らかに)

私たちは開発プロセスを合理化しようとしています。

現在、msbuild / msdeploy / nantを使用して.NETプロジェクトをビルドおよびデプロイするTeamCityサーバーがあります。

私が欲しいのは、さまざまなチームの人々がプロジェクト間を簡単に移動できるように、ほとんどのプロジェクトで機能する標準のプロジェクトテンプレート構造を提供するMavenのようなものです。

現在、これは1つのプラットフォームで動作します。なぜなら、特定の人々が関与している限り、そのプラットフォームに対して標準的な方法で行う傾向があるためです。ただし、プロジェクトのレイアウトとビルド方法を標準化するためにmavenのようなものを使用したいと思います。

これまでに誰かがこのようなことを試したことはありますか?経験?本?


それで、これはどのように機能しますか?誰かがWebアプリケーションを構築する必要がある場合、言語を指定する必要がありますか、またはその言語に理想的ではない場合でも、すべての言語に同じ構造を強制的に使用させますか?たとえば、JavaまたはC#のようにJavaScriptファイルを構造化するのは面倒です。
James Black

回答:


3

.NETに関しては、Mavenを移植する3つのプロジェクトがあります。stackoverflow.comでこの回答を参照してください。また、このwikiの記事も参考になるでしょう。

他の言語については、Mavenがサポートするのと同じ構造(以下のすべてのソースsrc/language/mainなど)を適用し、Mavenプラグインを作成してそれらを構築するか、少なくともこの構造をそのまま使用できる汎用の「Makefile」テンプレートを作成することをお勧めします。


2

現在、私たちはプロジェクトでいくつかの言語を使用しています:C ++、Java、Ruby、Perl、OCaml、Shell、PHP、JavaScript。そして、私たちはそれらすべてに我慢するのに何の問題もありません。ので、各コンポーネントは独自の構造やディレクトリレイアウトになっています。ビルドは、GNU makeによって処理される単純な再帰的なMakefileと結合されます。必要に応じて、他のビルドシステムを呼び出すこともあります(たとえば、JavaのAntを呼び出してJavaコードをビルドします)。これらのビルドシステムが特定のレイアウトに関連付けられている場合は、各コンポーネントに独自のレイアウトがあり、ビルドシステムの要件を満たすように調整できるため、問題ありません。

重要なアイデアは、すべてのコンポーネントを他のコンポーネントから分離しておくことでした。そのディレクトリ内には、この特定のコンポーネントに役立つと思ったファイルを格納しました。src/たとえば、1つの言語のすべてのコードを含むディレクトリのような大きなblobはありません。このようにして、さまざまなコンポーネントでコードを編集するときに問題が発生することはありませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.