コーディング規約
コーディング規約とは、プログラム書く(コーディングする)時のルールです。
書き方をみんなで統一して、ソースを読みやすくするんですね。
言語により、色々あるそうですが今回はJavaで。
プログラムを書くよりも、先にこっちを勉強しろって言われます。
最初は慣れないかもしれませんが、できるだけ規約を守るように心がけましょう。
SUNのコーディング規約
とりあえず、これを守るのが基本
原文
http://java.sun.com/docs/codeconv/
和訳
http://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/
私が持っていたコーディング規約まとめ
コピペします。
- returnに括弧はつけない
誤) return(0);
正) return 0;
- インデントにはタブを使う(エディタで4文字tabを基本)
- 空白のあけ方の統一
引数の,の区切り方、()間の空白
{,},コンマ,演算子,for/if/whileなどの(や)の前後はスペース
例)
int nn = new int {
2, 3, 3, 58,
};
void testFunction(int a, int b, int c) {
if (true) {
func(1, 3, 3);
for (int i = 0; i < 100; i++) {
l += 3 * a + b;
}
} else if (false) {
} else {
}
return 3 + l;
}
public class A extends Applet {
}
- 変数の命名規則
変数、メソッド名は小文字単語を使う
- 二単語以上になる場合、二単語目移行の一文字目は大文字にする
ex) veryLongWord
定数は、大文字をアンダーバーでつなげる
ex) static final int CONSTANT_VALUE = 3;
- 変数の宣言は使う前に
変数は使用する直前に宣言(可読性、メモリ節約、高速化)
必要であればブロックで囲んでスコープを限定
{
int i = 0; //! ←中括弧{}で囲んだスコープでのみ有効
....
}
- 配列の宣言は型のほうに次元をつける
誤)int card;
正)int card;
- メソッド名は小文字、一文字大文字接続
誤)public boolean judgevanish()
正)public boolean judgeVanish()
- 演算子の後はスペース
誤)i=3*N+2;
正)i = 3 * N + 2;
- 括弧のスタイルは、短いものを採用
誤)
if(htcd[i][j]<=0)
{
viscd[i][j]=NoCd;
htcd[i][j]=0;
}
else
{
viscd[i][j]=card[i][j][htcd[i][j]-1];
}
正)
if (htcd[i][j] <= 0) {
viscd[i][j] = NoCd;
htcd[i][j] = 0;
} else {
viscd[i][j] = card[i][j][htcd[i][j] - 1];
}
- インスタンスメソッドを使わないものは積極的にstatic
誤)
private int nextcard() {
return (int)(Math.random()*((double)MaxN+1.0))+MinN;
}
正)
private static int nextCard() {
return (int)(Math.random() * ((double)MAX_N + 1.0)) + MAX_N;
}
- 変数は使うところで宣言する
誤)
for(i=0;i
- if / for 以降が単行の場合でも中括弧をつけるように心がける
- switch構文のcase文の中は中括弧をつける
誤)
switch (value) {
case 0:
a = "0";
break;
case 1:
case 2:
a = "1";
break;
default:
a = "2";
break;
}
正)
switch (value) {
case 0: {
a = "0";
break;
}
case 1:
case 2: {
a = "1";
break;
}
default: {
a = "2";
break;
}
}
- 行末では改行する
誤)}[EOF]
正)}
[EOF]
- 16進数は大文字で記述する
定数だし
間違ってたら、指摘お願いします!