Top > MyPage
 

Java,特にStrutsなどでシステムを構築する際のCoding規約(草案)

Java,特にStrutsなどでシステムを構築する際のCoding 規約(草案---ていうか考え中・・・)

命名法

クラス

  • クラス名は全て英語でつける(辞書を調べてでも役割を正確にわかるようなものにする)
  • クラス名の最初、及び単語の最初は大文字にする
  • クラス名は基本的に英語の名詞を使用する(ex. FileUploader.java)
  • 入力する面倒を怖がらず、意味がはっきりする程度の長さで命名する
  • StrutsのActionクラスは常に、Actionで終わらせる(反対にそうでない場合はこの名前を使用しない)
  • StrutsのActionFormクラスは、ActionFormで終わらせる(反対にそうでない場合はこの名前を使用しない)

メソッド

  • メソッド名も全て英語でつける(辞書を調べてでも役割を正確にわかるようなものにする)
  • メソッド名の最初は小文字ではじめ、単語区切りを大文字にする
  • メソッド名は英語の動詞を使用する(ex. createUser())
  • getter,setterはget,setで始める(ex. getUser()),ただしbooleanを返す場合は、is,can,has,existsなどを使う(ex. hasExpired)
  • ファクトリーメソッドはcreateで始める
  • その他は今後走りながら決めていく

変数

  • 変数名も全て英語でつける(辞書を調べてでも役割を正確にわかるようなものにする)
  • 変数名の最初は小文字ではじめ、単語区切りを大文字にする
  • スコープの極めて狭いものを除いて、それが何に使われている変数なのかがわかる名前にする(ex. str1などは避ける)
  • スコープの狭いものは、短くて、しかし多少の意味のあるものを使う。ただしfor文などでは、慣例に従い、i,j,kなどを利用する

パッケージ名

  • パッケージ名は全て小文字にする

メトリックス(X-media javaルールブックス参考)

  • 1メソッドの行数はコメントも含めて20行以下、長くても150行程度
  • 1クラスの行数はコメントも含めて600行以下、長くても1000行程度
  • 1クラス内の「public」メソッドは30個以内
  • 1パッケージ内のクラス数は10個以下
  • 上記に当てはまらないような場合は、分割を考える

フォーマット

  • 1行は80文字までにする(eclipseでフォーマットすればOK、その他も同様)
  • 1行に2つ以上のステートメントは書かない
  • カンマの後には空白を入れる
  • for文の後のセミコロンの後にも空白を入れる
  • 算術演算子の前後にも空白を入れる
  • 代入演算子の前後にも空白を入れる
  • ++などのオペラントに間には空白を入れない
  • 関係演算子の前後にも空白を入れる
  • 論理演算子の前後にも空白を入れる
  • return文には不必要なカッコを入れない
  • 不等号の向きは「<」「<=」に統一する
  • boolean変数は==で比較しない
  • コメントは必要なものだけを簡潔に
  • フィールドを宣言する順序はpublic,protected,privateの順
  • デフォルトコンストラクタは原則作成(beanなどには必ずimplements Serializableする)

Struts特有

  • StrutsのActionクラスには、基本的にビジネスロジックは書かない。
  • struts-config.xmlのアクションは小文字に統一する