私は4人のグループでPHPプロジェクトに取り組んでいます。プロジェクトを開発するための最良の方法は何でしょうか。
バージョン管理システムがあります。
各開発者がコードを記述してテストする方法について混乱しています。各開発者は独自のテスト環境を持っている必要がありますか?そのテスト環境をローカルにするのが最善ですか?等..
ありがとう
私は4人のグループでPHPプロジェクトに取り組んでいます。プロジェクトを開発するための最良の方法は何でしょうか。
バージョン管理システムがあります。
各開発者がコードを記述してテストする方法について混乱しています。各開発者は独自のテスト環境を持っている必要がありますか?そのテスト環境をローカルにするのが最善ですか?等..
ありがとう
各開発者は、開発を行うために自分のマシン上に独自のローカル環境を持っている必要があります。開発者が特定の機能を実装したら、それをバージョン管理システムにコミットする必要があります。
継続的インテグレーションツールを使用して、バージョン管理システムからステージング環境に最新のコードを自動的に構築する必要があります。私はバージョン管理と自動展開にbeanstalkを使用しています。
ステージング環境のコードに満足したら、これを本番環境に手動でビルドできます。
これは、4人のチームに適したシンプルで柔軟なシステムです
2つのアドバイス:
まず、各自がグループコーディング標準を理解する必要があります。多くの場合、キャピタライゼーション、アンダースコアの使用、および変数の命名に矛盾があります。複数の人がいるプロジェクトで作業する場合、これはしばしば混乱を招きます。それが標準化されていることを確認してください。
各開発者は、ローカル環境でテストする必要があります。テストが機能する場合は、変更の詳細を示す変更ログを使用してコミットします。2人以上のグループで作業している場合は、各人が詳細な変更ログを提供するようにしてください。そうしないと、どのリビジョンが何を変更したのかを把握できなくなります。
チームで作業するときに覚えておくべきことのリストを次に示します(順不同)。
各開発者がローカル開発のために同一の環境を持っていることを確認してください。
gitのようなバージョン管理システムは必須です。すべてのメンバーは定期的にコミットをプッシュする必要があります。誰かが一度に10個のコミットをプッシュするのは望ましくありませんが、他のローカル設定で多数のマージ競合が発生するだけです。
また、バージョン管理を効果的に使用するようにしてください。master
常にデプロイ可能な本番ブランチとして(またはその他の)維持します。他の機能のために他のブランチで作業します。
作業を開始する前に、アプリケーションアーキテクチャについて十分に話し合ってください。コードのさまざまな部分が十分に分離され、作業の分割が容易になるように、 MVCを調べることもできます。
開発するすべての機能について、厳密な単体テストを作成します。多くの場合、テスト駆動開発は、チームで開発するための最も効率的なアプローチです。
また、@ Telthienが指摘したように、共通のスタイルガイド(参考のためにGithubとGoogle)を維持します。これには、インデントにスペース/タブを使用する、アンダースコアで関数名を開始する、タイトルを大文字にするクラス名などが含まれます。
答えは完全にあなたのニーズに依存します。
私が通常小さなチームで行うことは、開発者ごとにローカルのテスト環境を用意することです。さらに、各開発者がテストするために定期的に更新および配布できる優れたテストサーバーのVMイメージがある場合は、テストが本番環境と厳密に一致するようになります。