You are viewing the documentation for the 2.0.x release series. The latest stable release series is 2.4.x.
§コントリビュータ向けガイドライン
実装において、次のものは極力利用しないようにしましょう。
- 外部から変更可能な状態
- 大域的な状態
- 暗黙的変換
- ThreadLocal
- ロック
- 型キャスト
- 巨大なモジュール依存性の新規追加
§API デザイン
- Play は Java、Scala 向けのフレームワークです。変更された API が Java、Scala どちらでも動作するようにしましょう
- Java API は
framework/play/src/main/java
ディレクトリに配置し、パッケージ構成はplay.myapipackage.xxxx
にしましょう - Scala API は
framework/play/src/main/scala
ディレクトリに配置し、パッケージ構成はplay.api.myapipackage
にしましょう - Java および Scala API は次のように実装しましょう
- コア API を Scala で実装します(
play.api.xxx
) - API の内部コンポーネントがライフサイクル管理が必要であったり、置き換え可能である必要がある場合は、プラグインとして作成しましょう。該当しない場合は、このステップは飛ばしてください。
- コア API を Scala ユーザ向けにラップします (サンプル)
- Scala API を Java ユーザ向けにラップします (サンプル)
- 機能追加には限りがありません。その新機能はフレームワークのコアに必要か、プラグインとして実装すべきか、ということを常に考えましょう
- 疑問点があれば、メーリングリストで聞いてみましょう
§テストとドキュメント
- 全ての公開メソッド、公開クラスには、使用例や詳細な説明などを含む scaladoc や javadoc を記述しましょう。
- 全ての機能やバグフィックスについて、ファンクショナル・テスト(
framework/integrationtest
)や spec(/play/src/test
)を作成しましょう。 - push 前に Play の結合テスト・スイート
framework/runtests
を実行しましょう。テストが失敗する場合、無視せずに、問題を修正しましょう。
§コードスタイル
- コミット前に scalariform-format を実行しましょう。
§git コミット
- 積極的に rebase しましょう
- 同じトピックに関する変更はひとつのコミットにまとましょう
このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。