20

私は 2006 年から TYPO3 プロジェクトを開発しており、プロジェクトはより大きく、より複雑になっています。お問い合わせフォームとニュース一覧を備えたシンプルな CMS サイトをセットアップすることは、すべて日常的なことです。

現在、私たちはより大きなプロジェクトを完了しています: 無数の拡張機能を備えた国際企業向けのプラットフォーム: ログインと登録、ニュース、リスト データベース レコード、動的な連絡先フォーム、調査と統計、イントラネット機能: ドキュメントのアップロードとダウンロード、いくつかのバックエンドの「微調整」 TCA の変更などについて。

プロジェクト マネージャーは私たち開発者に腹を立てました。なぜなら、機能 X を完成させ、その後機能 Y を開発サーバーにコミットした後、機能 X が壊れていることがあったからです。これは、タイポスクリプトの設定、拡張機能の相互依存性、バージョン管理エラー、または場合によっては単純なプログラミングのミスやタイプミスに関連していました。私は後者の世話をする方法を知っていますが、一般的に:

あなたの経験から:

すべてが手元で​​機能し、拡張機能が邪魔にならない TYPO3 でエラー防止システムを開発するにはどうすればよいでしょうか? 言い換えれば、どうすれば機能 (拡張機能) を保護および分離し、相互依存の問題を回避できるでしょうか?

私たちは 2 人の開発者がいる DEV チームで作業しており、既に以下を使用しています。

  • Subversion リポジトリ
  • 開発およびテスト用のローカル DEV サーバー
  • 外部のタイポスクリプト構成ファイルは、拡張子ごとに 1 つのファイルに分割されます

バウンティハンターの編集:

私が探しているのは、次のトピックを含む可能性のあるベスト プラクティスの要約です。

  • 一般的なワークフローの習慣
  • 一般的なコーディングの習慣
  • Subversion コミット (または Git) の信頼性
  • 単体テスト (PHPUnit、Selenium?)
  • 展開 (自動化された展開がどのように役立つかはまだわかりません)
  • タイポスクリプトのベスト プラクティス
4

3 に答える 3

26

大規模な TYPO3 プロジェクトで見られる問題は、開発プロジェクトと大差ありません。

一般的な慣行:

一般的な TYPO3 の実践 :

追加の参照:

拡張機能は、複雑な TYPO3 インストールを管理するのに役立ちます:

最新のプロジェクト管理方法論とツールを使用する

  • スクラム、カンバン、リーン開発の原則
  • Redmine、Trac などのバグトラッカー

書籍 :

于 2012-04-11T08:04:24.327 に答える
4

単体テストにはPHPUnitを使用することを絶対にお勧めしますが、単体テストとは最初にコードを作成する方法であり、通常は後で追加するものではないことを覚えておいてください。しかしもちろん、遅刻はしないよりはましです。

jenkins/hudson やatlassian Bamboo などのビルド サーバーのセットアップを検討する必要があります。後者は非常に優れており、PHP で開発する場合は、私の意見では zend studio がより良い選択です。一般に、アトラシアン製品はソフトウェア プロジェクトに広く使用されています。(特に Jira + 合流 + greenhopper)

于 2012-04-09T21:45:06.960 に答える
2

また、jenkins で phpunit をセットアップすることをお勧めします。Teamcity に関する良いフィードバックを読みましたが、テンプレートとしてhttp://jenkins-php.org/を参照してください。次に、作成したコードに応じて、単体テスト (未加工の php コードの場合、おそらく少しモックを使用)、統合テスト (API およびモジュール接続)、およびシステム テスト (Selenium) をセットアップします。

各ビルド後に実行すると、少なくともカバーされている機能が機能していることを確認できます。ただし、問題は、テストとそのサポートの作成、およびテスト可能なコードの検討により多くの時間を費やすことです。また、すべてをカバーすることはできないことに注意してください。それは重要ではありません。クリティカル パスをカバーする必要があります。

于 2012-04-10T12:14:24.197 に答える