技術コラム

スタイル

コメント

ファイルの先頭にコピーライト、およびシステム名等を記述する。なお「javadocコメント」を使用せず、/* (コメント) */の形式を用いる。

/*
 * $Id$
 * Copyright (c) 2006 PRIME CO.,LTD All Rights Reserved.
 *
 * システム名: プロジェクト管理システム
 * サブシステム名: 日報・月報管理
 *
 * 作成者: t.sugahara
 * 日付: $Date$
 * バージョン: $Revision$
 * メモ:
 *
 * 履歴:
 * 変更ID 変更日 変更者 変更理由
 * -----------------------------------------------------
 * A001 2006/05/23 t.sugahara 新規作成
 * -----------------------------------------------------
 */

publicクラス、およびメソッドのコメントでは「javadocコメント」を活用する。

書式

・「/**」ではじめ、「*/」で終わる。

  基本的には1行目を「/**」とし、2行目以降を「*」ではじめる。最終行を「*/」で終わる。

タグ

@author [作成者]

 クラスの作成者を明記する。

@param [パラメータ名] [説明]

 メソッドにパラメータがある場合、そのパラメータの名称と説明を明記する。

@return [戻り値]

 メソッドに戻り値がある場合、その戻り値の説明を明記する。

@exception [例外名]

 メソッド内で発生する例外がある場合、その例外名を明記する。

@version [バージョン]

 クラスのバージョンを明記する。



上記以外のタグもあるが、適宜、必要なものを記述する。

補足

クラス、およびメソッドの定義が始まる直前にコメント行を配置し、そのクラスの機能概要、外部インタフェースについて記述する。

なお、最初の1行目はHTMLのメソッドインデックスに使用されるため、外部へ公開するための要約した短い説明にとどめ、その行は半角ピリオド(.)、または<br>HTMLタグで閉じる。

詳細については「javadoc」のドキュメントを参照のこと。

/**
 * プロジェクト日報に関するデータアクセスクラス.
 * 日報データの読み書き機能を提供する.
 *
 * @author t.sugahara
 * @version 1.0
 */
public class PmsDailyLog {
    /**
     * 日報データ管理情報からタグ名を取得する.
     * @param kind 管理情報区分
     * @return タグ名
     * @exception PmsException システム障害を返却する
     */
    public String getTagName(int kind)
        throws PmsExcption {

        <省略>

        return m_mngData.tagName;
    }
}

改行のルール

プログラムの見やすさを考慮した場合、1行の長さを適度に制限する必要がある。基本的には80桁以内を目安とし、それを超える場合は行を分割する。行を分割するには、「,(カンマ)」の位置での改行、または演算子(複数の演算子を使用している場合は優先順位の低い演算子)の前で改行を入れる。このような考慮をするだけで、コードの可読性が高まる。

package宣言とimport宣言

ファイルの先頭に書いたコメント(コピーライト、およびシステム名等)の下にpackageの宣言を記述する。次に1行空けてimportの宣言を記述する。また、import宣言では「*」を使わない。(「*」を使用すると実際に使用しているパッケージが不明確になってしまう)

/**
 * $Id$
 * Copyright (c) 2006 PRIME CO.,LTD All Rights Reserved.
 *
 * システム名: プロジェクト管理システム
 * サブシステム名: 日報・月報管理
 *
 * 作成者: t.sugahara
 * 日付: $Date$
 * バージョン: $Revision$
 * メモ:
 *
 * 履歴:
 * 変更ID 変更日 変更者 変更理由
 * -----------------------------------------------------
 * A001 2006/05/23 t.sugahara 新規作成
 * -----------------------------------------------------
 */

package jp.co.prime97.Pms.manage

import java.util.Date;
import java.util.HashMap;
import java.util.Vector;

不要メソッド・変数の削除

プログラム内で使用していない変数(インスタンス変数、ローカル変数)は必ず削除する。不要な変数があると、プログラムの可読性が低くなる。同様にメソッドについても使用しないものについては実装しない。後々必要と思えるものについても、必要となったときに実装する。

フォーマット

見た目のフォーマットは非常に大切である。技術者の感性は様々であり、統一は困難であるが基本方針について記述する。

・1行の文字数を最大80桁とする。

・インデントは空白4文字分とする。その際、タブは使用せず空白文字を使用する。

・1行に複数のステートメント(式)を記述しない。

 (変数定義も同様に、1行1変数の宣言とする)

・不等号の向きは左向き(「<」、「<=」)にする。

 (定数と比較する場合は右向きでも可)

・不等号で使用する定数は右側に配置する。

・カンマの後には空白文字を入れる。

・for文の「;(セミコロン)」の後には空白文字を入れる。

・算術演算子(「+」、「-」、「*」、「/」、「%」)の前後には空白文字を入れる。

・算術演算子(「++」、「--」)とオペランドの間には空白文字を入れない。

・代入演算子(「=」、「+=」、「-=」、「*=」、「/=」、「%=」)の前後には空白文字を入れる。

・比較演算子(「<」、「<=」、「==」、「>」、「>=」、「!=」)の前後には空白文字を入れる。

・条件演算子(「||」、「&&」、「|」、「&」、「^」、「!」)の前後には空白文字を入れる。

・シフト演算子(「<<」、「>>」、「>>>」)の前後には空白文字を入れる。

・ビット演算子(「|」、「&」、「^」、「~」)の前後には空白文字を入れる。

・return文では括弧を使用しない。

 (メソッドでなく式であることを明確にする)

文法の基本形

文法の書式・形式についてもフォーマットと同様、技術者の感性に依存する部分である。基本方針について記述する。

・for文で使用するカウンタはfor文のカウンタ宣言にて行なう。

 (for文の外側で宣言しない)

・for文とwhile文の使用用途を明確にする。

 (カウンタを利用する規則的な繰り返しの場合はfor文、それ以外はwhile文を使用する)

・for文で使用するカウンタの初期値は「0」を基本とする。

 (配列の添字は「0」からである.カウンタはインデックスの役割で使用する場合が多い)

・制御文(「if」、「else」、「while」、「for」、「do while」)での「{}」は省略しない。

 (1行の式でも省略しない.機能追加時のバグ発生を避けられる)

・ローカル変数は利用する直前で宣言する。

 (C言語のように関数の入り口で宣言しない)

 

△Vol.1 コーディングルールへ戻る

2009年6月17日 18:21