バージョン管理
チームで作業しているので、配布されたものを使用するのが最善です。あなたの候補者はGitとMercurialです。つまり、チームはプロジェクトを中断せずにローカルにコミットできますが、作業を追跡し、これらのコミットを中央サーバーにプッシュできます。また、コードはリビジョンではなく変更セットとして追跡されるため、はるかに高速でマージの競合が少なくなります。hginitガイド(スタックオーバーフローの共同創始者によって書かれた)も読んでください。DVCSが何であるかについてもう少し理解できます。http://hginit.com/
また、rsyncまたはftpの代わりに、展開用のリポジトリを使用する必要があります。
テスト駆動開発テストの
内容によっては、多くの時間が浪費される可能性があります。小規模なプロジェクトではオーバーヘッドになるため、完全にスキップする必要はありません。ライブラリまたは大規模な長期プロジェクトを作成している場合は、必ずテストを作成してください。テストは、メンテナンスフェーズで役立ちます。TDDはすべてのバグを見つけることができないことに注意してください。ユーザーエクスペリエンスの問題、レイアウトの問題、パフォーマンスの問題などがあります。
ここでは、Xdebugのデバッグが基本的に唯一の選択肢です。Netbeansとうまく統合します。変数を出力する必要があると感じた場合は、ログファイルを使用する必要があります。フレームワークのログ機能を使用します。これは、本番環境でより安全です。
計画/図
優れたフレームワークを使用している場合、詳細な図をあまり作成する必要はありません。シンプルに保ち、リリースサイクルを短くして作業してください。計画を立てやすくなります。プロジェクトの要件と仕様は変更される可能性があるため、すべての時間を費やすことはしません。コードは最も詳細なレベルの仕様であることを忘れないでください。
バグ追跡ツール(以下を参照)を使用して、仕様をチームメンバーに割り当てることができるタスクに分割します。中央のツールを使用してプロジェクトを文書化します。バグトラッカーにはおそらくwikiがあります。
Mysql Workbenchなどのツールを使用して、図のデータベーススキーマを設計し、SQLとしてエクスポートできます。
フレームワークとOOP
これはおそらく最も重要な部分です。迅速な開発とコードの再利用をサポートする人気のあるフレームワークを見つけてください。一部の人々は私がこれを言うのを嫌いますが、フレームワークはあなたの働き方を決定する必要があります。開発者がプロジェクトを切り替えて、特定のページのコントローラーがどこにあるか、テンプレート変数が何であるか、モデルを照会する方法を正確に知ることができるように、構造を提供する必要があります。一部のフレームワークはここで柔軟性が高すぎるため、開発者は常に同じ方法でフレームワークを使用するとは限りません。私はpythonの哲学が好きです。すべてを行う1つの明白な方法があるはずです。だからこそ私はdjangoとrailsが好きです。彼らは非常に熱心で、他の誰かのコードを見て、それが何をするのか理解できるということです。ここでは、symfonyが最適なオプションのように見えますが、
このようなスタックオーバーフローに関する多くの「フレームワーク」の質問があります:https :
//stackoverflow.com/questions/2648/what-php-framework-would-you-choose-for-a-new-application-and-why
バグ追跡
チームに開発者向けの優れたバグ追跡ツールを提供します。basecampのような単純化されたものを使用しないでください。RedmineとUnfuddleは、優れたバグトラッカーの2つの例です。また、時間を追跡し、リポジトリと統合することもできます。チームは、メールやIMではなく、このツールを使用して問題についてコミュニケーションを取る必要があります。バグとドキュメントの既存の履歴がある場合、新しい開発者にとって簡単になります。この記事では、優れたバグトラッカーが行う必要のあることとその理由について正確に説明します。http://www.joelonsoftware.com/articles/fog0000000029.html