コーディング規則

・オブジェクト参照にはインターフェースを使う
・推奨されなくなったものを使わない
・無駄なコードは削除する
・スコープを適切に設定する
・継承、オーバーライドのないもの、定数はfinal宣言する
・値渡しと参照渡しの違いを意識する
・1クラスは600行以下
・1クラスのpublicメソッド数は30個以下
・1メソッドは20行以下
・呼び出しやネストをできるだけ少なくする
・インデントはタブではなく、空白文字4文字を使用する
・1行は80文字以下
・1行が長すぎる場合は、カンマの後、演算子の前で改行する
・「{」の後は必ず改行する
・「,」「;」の後は必ず空白文字1文字を入れる
・全ての演算子の前後は必ず空白文字1文字を入れる
・return文内で計算などをしない
・booleanを比較しない
・不等号は小さいものを左側に置き、定数は右、使用頻度の高いものは左
・フィールドの宣言順は、public、protect、デフォルト、privatteの順
・publicでないクラスのコンストラクタにpublicをつけない
・デフォルトコンストラクタは作成する
・配列を返すメソッドでは、NULLではなく、長さ0の配列を返す
・1つのメソッドには複数の役割を持たせない
・引数の数が同じメソッドをオーバーロードしない
・メソッド、変数は、オブジェクト名ではなく、クラス名で呼び出す
・1つのステートメントで複数の変数を宣言しない
・固定された文字は全てfinalで定数とする
・int 配列名[]はint[] 配列名に置き換える
・ststic final配列ではなく、読み取り専用配列unmodifyablelistを使用する
・ローカル変数は利用する直前で宣言する
・ローカル変数は再利用せず、新しく使用する場合は新たに宣言する
・スーパークラスとサブクラスで同名のフィールド作らない
・実装のないメソッドはabstract宣言する
・文字列どうし、オブジェクトどうしオブジェクト名で比較し、「==」で比較しない
・for文のカウンタは0から開始し、条件式以外で操作しない
・break、continueはできるだけ使わない
・配列の複製には「=」ではなく、arraycopy()を使用する
・ループ内でオブジェクトの生成はできるだけ行わない
・条件分岐の代わりにポリモーフィズムを利用する
・ループ内でtry-catch文を利用せず、try-catch文の中でループさせる
・スレッドはthreadクラスの継承ではなく、runnableインターフェースを利用する
・同期ブロックから同期ブロックのあるメソッドを呼び出さない(デッドロック)
・waitメソッドはwhile内からのみ使用する
・stringはnewせず、文字列を直接入力する
・連結、変更のある文字列は、stringbufferを使用し、「+=」などは使用しない
・プリミティブ型とStringの変換には変換メソッドを使用する
・「n」「r」などの機種依存文字は使用せず、line.separatorを使用する
・誤差のない計算にはBigDecimalを使用する
・日付を表す配列にはlong型を使用する
・finallyブロックで後処理をする
・objectoutputstreamではresetしてGCに渡す
・例外は詳細なクラスで受け取る
・インスタンスであることのチェックをしてから、キャストする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です