Java Coding Rule


ネーミングルール

クラス

大文字で始まる名詞をつける。内容の省略は行わないこと。アンダースコアでの連結も行わないこと。

良い例:
  1. class AccountManager : public ManagerBase{
  2. ...
  3. }
悪い例1: 大文字のみの単語が存在する
  1. class ACCOUNTManager : public ManagerBase{
  2. ...
  3. }
悪い例2: 小文字のみの単語が存在する。アンダースコアでの連結がある。
  1. class Account_manager : public ManagerBase{
  2. ...
  3. }
悪い例3: 単語が名詞で終わっていない
  1. class AccountManage : public ManagerBase{
  2. ...
  3. }
Interfaceの実装クラスの場合にはImplを最後に付ける。 例
  1. interface NameOfInterface{
  2. ...
  3. }
  4. class NameOfInterfaceImpl{
  5. ...
  6. }
抽象クラスはAbstractを前に付ける。
  1. class AbstractVivaHoge{
  2. ...
  3. }

関数

関数は小文字の動詞で始まり名詞で終わる。
  1. public void getInstance(){
  2. ...
  3. }

定数

C/C++の#defineと同じく全て大文字でかつアンダースコアをつないで付ける。
  1. static final int DEFAULT_ACCESS_LIMIT = 15;

インスタンス

インスタンスは小文字でつける。
  1. class Sample {
  2. ...
  3. }
  4. Sample sample;
  5. sample.setArg( ... );

配列

配列の宣言はType[] arrayNameとする。type array[]は使用しない。名前にはArrayを最後に付ける。
  1. String[255] nameArray;

パッケージ名

極力省略形は使わず、必要となるもののみをimportする。

javadoc

javadocサンプルを以下に示す。
  1. JavaDocサンプル
  2. /**
  3. * Outline of Class(クラス概要)
  4. * ピリオド(.)または句点(。)で終わるところまでが、クラス一覧の概要に説明されるところであり、
  5. * ピリオド以降は説明の概要には含まれず、クラスの説明に含まれる。
  6. * このように、JavadocにはHTMLタグを使用することができる。
  7. * </pre>
  8. * @author tanuma
  9. * @author nakai
  10. * @version 1.0
  11. * @since 1.0
  12. */
  13. public class SampleDoc{
  14. /**
  15. * @serial 直列化可能データの説明
  16. */
  17. private int x;
  18. /**
  19. * Validates a chess move.
  20. * @author kubota
  21. * @param theFromFile File of piece being moved
  22. * @param theFromRank Rank of piece being moved
  23. * @param theToFile File of destination square
  24. * @param theToRank Rank of destination square
  25. * @return true if a valid chess move or false if invalid
  26. */
  27. boolean isValidMove(int theFromFile, int theFromRank, int theToFile, int theToRank)
  28. {
  29. ...
  30. }
  31. /**
  32. * Outline of method(関数説明)
  33. * @param int Outline(引数)
  34. * @throws SomeException 例外の説明
  35. * @throws Exception 例外の説明
  36. * @return String型の値
  37. * @see "関連"
  38. */
  39. String add( int inint ) throws SomeException, Exception {
  40. }
  41. }

そのほか

内部変数はなるべくprotected(not private)に格納し、getter/setterでアクセスを提供する。
HashMapやListは可能な限りIteratorでアクセスすること。
synchronizedはclassではなく、部分に適用すること。
class内classが使える場合はなるべく活用すること。 Pour vous inscrire maintenir votre numéro, vous aurez votre compte propriétaire (obligatoire à votre portabilité du numéro) numero rio. Vous obtiendrez êtes certain d'obtenir pour par entrer en contact avec la voix tonus de la voix du serveur ou du service à la clientèle support clients votre actuel entreprise rio bouygues . Vous ne certainement get un SMS avec vos . Avec votre propre rio orange, alors vous êtes capable d' la offre de de votre choix respectifs sur orange orange .