Zend Studio for Eclipseの紹介
はじめに
本連載は、「Team Project Development(http://www.thinkit.co.jp/article/ID/1/)」の日本語翻訳です。原文についてはこちら(http://www.thinkit.co.jp/article/ID/1/)をご確認ください。
多くの場合、PHP開発業務は、1人の開発者あるいは小規模なチームが、やはり小規模な業務に着手するところから始まります。ある優れたアイデアが展開され、それがWebアプリケーションへと発達するにつれて、プロジェクトは複雑さを増し、その規模も拡大するという傾向があります。
プロジェクトの規模が拡大し、成果があがるに従い、開発チームに比較的多数の開発者を一度に投入することが必要(または、そうせざるを得ない)状況になります。また、異なるバージョンの開発製品を使用している多数のサイトでアプリケーションを展開する場合、プロジェクトはより複雑なものになります。さらに、あるインストレーションで特別な拡張が必要になり、そのために専用のアプリケーションブランチを作成しなければならなくなることもあります。
開発会社は、事業を成長させるために、顧客サイトのインストレーションの数を伸ばし、それに応じて開発者の数を増やす必要があります。しかし、一般的に、PHP開発業務でそれらの数が同じタイミングで増えることはほとんどありません。一方、開発チームの規模が拡大するにつれて、バージョン管理、チーム開発環境、共有コードライブラリ、標準コーディングスタイルなど、綿密に検討すべきことが多数でてきます。
同じプロジェクトに従事している多数の開発者が、共有開発インフラストラクチャに関する問題を発生させる可能性があります。例えば、あるプログラマがプロジェクト全体を揺るがすようなエラーを引き起こすといったことなどが考えられます。そのようなことが起こった場合、ほかのすべての開発者は、そのエラーが特定され、修正されるまで、作業を中断しなければならなくなります。
この記事では、Zend Studio for Eclipseにおいて上記の課題を解決する方法を紹介します。この新しい統合開発環境(IDE)を利用することによって、開発チームが抱えている多くの問題を解決することができます。よく見られる開発シナリオを取り上げながら、どのようにしてZend Studio for Eclipseによって問題を緩和するかを紹介します。
ソースコード管理
基本的なレベルのチーム開発において不可欠なのがソースコード管理(SCM)ツールであり、開発チームが何らかの形で生産性を向上させるために絶対に使用すべきものです。現在利用されている主なSCM製品は、CVSとSVN(SubVersion)の2つです。Zend Studio for Eclipseの統合アーキテクチャは、これらの両方のツールに対応しています。
Webアプリケーションについて誰がどのような作業を行っているのか管理できるようにすることは、チーム環境において最も重要です。何日もかけて記述したコードをほかの開発者に上書きされてしまうことほど最悪なことはありません。統制のとれたプロセスで開発対象のファイルを保護したり、ローカルにコピーし、更新して、コミットしたりすることは理想的なアプローチであり、前述のどちらのSCMソフトウェアツールも、そのようなニーズに対して十分に対応することができます。
また、このようなSCMプロセスを各開発者のIDEに統合できれば、より好都合です。では、ソフトウェア開発チームが経験すると思われるいくつかの状況について考えてみることにしましょう。
注: 前述のように、Zend Studio for EclipseはCVSソース管理製品とも統合することができますが、この記事では、SubVersionを中心として、SCMについて説明します。Zend Studio for Eclipseとのインタラクションに関してはどちらのSCM製品についてもほとんど同じであるため、ここでは、一方のみを取り上げることにしました。