メタデータの末尾に移動
メタデータの先頭に移動

この文書では、MyFaces 開発者とカスタムコンポーネント開発者にとって重要な話題を取り上げています。

コンポーネント開発者向けガイドライン

(「SVN に関するガイドライン」と同じです。以下を参照してください)

SVN に関するガイドライン

コードスタイル

Apache 全体でのコーディングスタイルガイドについては、http://www.apache.org/dev/styleguide.html を参照してください[訳注:現在リンク切れです]。この文書に記載されていないものについては、http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html にある Sun の Java Code Conventions に従って記述する必要があります。

Eclipse 3.1 用のフォーマッタプロファイルです: apache-codeconv.xml 。Window->Preferences->Java->Code Style->Formatter とメニューをたどってファイルをインポートしてください。

IntelliJ IDEA 7.0 (7718) 用のフォーマッタプロファイルです: maven-idea-codestyle.xml 。File->Import Settings ... とメニューをたどってファイルをインポートしてください。"MyFaces" という名前の新しいプロファイルが追加されます。

エラーと例外のハンドリング

例外をキャッチした場合は、必ず次のことを行います。

  • システムを安定した状態に戻せる可能性がない場合、重要度が "fatal" のメッセージをログに出力し、RuntimeException (または派生クラス) をスローする必要があります。逆の場合も同様で、catch 節の内部から RuntimeException (または派生クラス) がスローされた場合は、重要度が "fatal" のメッセージがその直前にログに出力されていなければなりません。
  • 例外が重大なものであっても、処理を続けられる可能性がある場合には、重要度が "error" または "warining" のメッセージをログに出力する必要があります。
ロギング

追加ライブラリへの依存関係があってはならない JSF API (javax.faces.*) クラス内は別として、ロギングには commons-logging を使用します。commons-logging は、推奨される方法で使用する必要があります。すなわち、各クラスは独自に private static logger を持つ必要があります。

名前付け

名前付けは、最も基本となることがらです。クラス、メソッド、またはフィールドの名前は、可能な限りその意味と使用法がわかるようなものにする必要があります。"Helper"、"calc"、"check" といった短い名前は避けてください。代わりに "FinancialConsultance"、"calculateMyYearlyIncome"、"isMyIncomeTooLow" といった名前を使用してください。

特別なコメント

追加の特別なコメント (CodeConv の 10.5.4 を参照してください)

  • TODO: まだ用意できていないことを示します
  • HACK: 不適切ではあるものの、動作させるために (当面) 必要であることを示します
  • XXX: 不適切ではあるものの動作することを示します
  • FIXME: 不適切で動作しないことを示します
バージョン管理
  • ファイルがほかのユーザーからも再利用可能であることが確信できる場合、開発者は誰でもそのファイルをアップロードできます。
  • 言うまでもありませんが、アップロードされた Java ファイルはコンパイル可能でなければなりません。
  • Java ファイルへの変更は、プロジェクト全体がコンパイル可能な状態にとどまるものでなければなりません。
  • 外部から取り込むファイルは、原作者との協議/通知を経て初めてコミット (変更) することができます。もちろん、削除に関しても同様です。例外: コメント中のスペルミスなど、軽微な変更。
  • 再確認: コミット時にメッセージを忘れないこと。
コミュニケーション
  • MyFaces 開発者間での主なコミュニケーション手段は、MyFaces 開発者向けメーリングリスト (dev@myfaces.apache.org) です。
  • アクティブな MyFaces 開発者は、必ずこのメーリングリストに登録しなければなりません。
著作権

すべてのファイルの先頭に、必ず次の著作権表示を入れる必要があります。

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
クラスとインタフェースのコメント

すべてのクラスとインタフェースには、次のような javadoc を用意する必要があります。

/**
 * 詳しい説明をここに記述します... ;-)
 *
 * @author Bug Rogers
 */
SVN の設定

開発者は auto-props を設定し、ファイルに 'native' の svn:eol-style が適用されるようにする必要があります。*nix システム上の native は、SVN が呼ぶところの native なので、*nix システムで作業する開発者は「ラッキー」ですが、キーワードも置換されるように、auto-props を設定しておく必要があります。これらの設定については、Struts の SVN に関する wiki ページを参照してください。

Issue Tracker に関するガイドライン

課題のクローズ

課題を解決済みとマークしたら、同時にクローズドとマークする必要があります。

Enter labels to add to this page:
Please wait 
Looking for a label?Just start typing.