Home | Symfony2Doc »Symfony2 プロジェクトへの貢献 »Contributing Code »コーディング規約

このページのコンテンツ

前のドキュメント

Symfony2 のテストを実行する

次のドキュメント

慣習

ソース



クイックリンク


コメントリスト

Powered by Disqus

ご質問や翻訳不備等お気軽にコメントください。


コンテンツ上部に更新日の記載のないページは、翻訳の内容が2.0相当のものになっております。最新の内容は原文のページをご確認ください。

コーディング規約

Symfony2 にソースコードを提供する場合は、以下のコーディング規約に従ってください。コーディング規約を最も分かりやすい短い文にまとめると、既存の Symfony2 のソースコードの真似をするということです。

構文

  • ショートタグを使ってはなりません(<?
  • クラスファイルの末尾に、通常の PHP ブロックの終了タグ(?>)を付けてはなりません
  • インデントには、空白4つを使い、タブを使ってはなりません
  • 行の終端の改行には LF(0x0A)を使います
  • カンマの後には空白を1つ開けます
  • 開き丸括弧の後と閉じ丸括弧の前には、スペースを開けてはなりません
  • 演算子(==&&、...)の前後には空白を1つ開けます
  • 制御構文のキーワード(ifelseforwhile、...)と開き丸括弧との間には、空白を1つ開けます
  • return 文の前には空行を1行開けます
  • 行末に余分な空白を付けてはなりません
  • 制御文の本体の行数に関わらず、波括弧で制御文本体を囲います
  • クラス宣言、メソッド宣言、関数宣言に使う波括弧は、それぞれ独立した1行に記述します
  • 条件文と開き波括弧との間には空白を1つ開け、改行してはなりません
  • クラス、メソッド、プロパティのアクセス修飾子を明示的に宣言します(var を使うことは禁止されています)
  • PHP 組み込み型の定数には小文字を使います: falsetruenullarray()
  • 定数には大文字を使い、複数の単語をアンダースコアで結合します
  • 1つのファイルには、1つのクラスのみを定義します
  • クラスのプロパティ宣言を、メソッドよりも前に記述します
  • 最初に public なメソッド、次に protected なメソッド、最後に private なメソッドという順で宣言します。

命名規約

  • 変数名、関数名、メソッド名には、アンダースコア形式ではなくローワーキャメル形式を使います
  • オプション名、引数名、パラメータ名にはアンダースコア形式を使います
  • すべてのクラスに名前空間を使います
  • 名前空間のトップレベルは Symfony とします(訳注:Symfony 内部機能の場合)
  • インターフェイスには Interface サフィックスをつけます
  • ファイル名には、アルファベット、数字、アンダースコアのみを使います

ドキュメント

  • すべてのクラス、メソッド、関数に PHPDoc ブロックを追加してください
  • @package@subpackage アノテーションは使われません
blog comments powered by Disqus