<< 実践 ICONIXプロセス : コードレビューの手順 | main | 実践 ICONIXプロセス : モデルと同期する >>

実践 ICONIXプロセス : コードのチェックリスト

私の個人的なコードレビューのチェックリストです。

3行ルール

3行を超えたら、改行する。別ブロックにする。
import 文にはじまり、フィールドの宣言、メソッド内のロジック、if ブロック内のコード、どこでも、連続していいのは、3行まで。

3行を超えていたら、グルーピングを考える。
5行以上、改行やブロックの区切りがなかったら、まちがいなくNG。

メソッドでくくり出したり、2つ3つの変数を持つ小さなオブジェクトを設計するなりするべき。

重文禁止

if 文で、 || や、&& で評価式を連結するのは禁止。
最低限、評価メソッドで外だしにする。
評価メソッド内でも、原則使わない。

重文はバグの巣ということを経験的に分かっているから。(特に修正時)

複文禁止

object.get().get().get() は禁止。
3つの文に分解する。それぞれの get() メソッドで取得するオブジェクトを一次変数で明示する。
変数名はもちろん、意味のある名前をつける。

入れ子の禁止

if文のなかの if文。
if文のなかの for文。
for文の中の if文。

メソッドでくくりだすことを考える。
入れ子もバグの巣であることを経験で知っているから。

ゼロパラメータ

メソッドのパラメータは、ゼロが最も良い。

2つ以上だったら、一つのオブジェクトにカプセル化することを考える。

一つだけのパラメータは、そのパラメータのオブジェクトにメソッドを移動すると、ゼロパラメータになる。

クラスの責務設計、メソッドの割当が洗練されてくると、ゼロパラメータのメソッドが増えます。

パラメータがずらっと並ぶメソッドは、アンチパターンです。

名前はフルスペル

パッケージ名、クラス名、メソッド名、フィールド名、一次変数名、すべてフルスペルで書く。
習慣的な短縮形も使わない。(悪い習慣)

他の人の短縮形を理解できずに保守に苦しんだことが何回もあるから。

コメント禁止

名前をフルスペルにしても、まだコメントが必要?
名前がたぶんおかしい。

まあ、英語の訳語を注釈することが良い時があるかもしれない。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
     12
3456789
10111213141516
17181920212223
24252627282930
<< September 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
  • 番号より名前。 ニーモニックコードより名前。 【パターン】
    師子乃 (03/10)
  • Smart UI が優れている?
    masuda220 (03/10)
  • Smart UI が優れている?
    kagehiens (03/09)
  • オブジェクト指向プログラミングの教え方?
    masuda220 (12/05)
  • オブジェクト指向プログラミングの教え方?
    ZACKY (12/04)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    kompiro (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    JHashimoto (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (02/28)
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM