1. 程式人生 > 其它 >Java程式設計規範簡版總結

Java程式設計規範簡版總結

習藝之道有二:知和行。你應當習得有關原則、模式和實踐的知識,窮盡應知之事,並且要對其瞭如指掌,通過刻苦實踐掌握它。

一、變數

​ 命名看著很簡單,但是選擇一個好名字要花時間。但是隨意命名,看似節省了時間,但後續自己或別人閱讀程式碼的時候需要花費更多的時間。好的命名應該可以讓人一眼就能知道它為什麼會存在,它做什麼事,它該怎麼用。利己由利於他人。

糟糕的命名示例:

int d;//消失的時間,以日為單位計算
// 存在問題:
// d什麼也沒有說明,在其他地方使用的時候我們並不能一眼就能知道d是幹啥用的,更不會引起時間消逝的感覺

public List<int[]>getThem() {
    List<int[]> list1 = new ArrayList<int[]>();
    for (int[] x : theList) {
        if (x[0] == 4) {
            list1.add(x);
        }
    }
    return list1;
}
// 存在問題:
// 1、theList是什麼型別的東西
// 2、theList的0下標條目的意義是什麼
// 3、值4的意義是什麼
// 4、我該怎麼使用返回的列表

規範的命名:

int elapsedTimeInDays;//消失的時間,以日為單位計算

public List<int[]>getFlaggedCells() {
    List<int[]> flaggedCells = new ArrayList<int[]>();
    for (int[] cell : gameBoard) {
        if (cell[STATUS_VALUE] == FLAGGED) {
            flaggedCells.add(cell);
        }
    }
    return flaggedCells;
}

變數命名原則:

1、避免使用誤導性名稱

如:1和l、o和0

2、做有意義的區分,不做無意義的命名

// 無意義的命名
public static void copyChars(char[]a1,char[]a2) {
    for (int i = 0; i < a1.length; i++) {
        a2[i] = a1[i];
    }
}

// 見名知意
public static void copyChars(char[]source,char[]destination) {
    for (int i = 0; i < source.length; i++) {
        destination[i] = source[i];
    }
}

3、不要自己造詞

// 糟糕的命名
private Date genymdhms;
private Date modymdhms;

// 規範的命名
private Date generationTimestamp;
private Date modificationTimestamp;

4、使用命名的常量代替直接使用值

// 儘量不要直接在程式中使用5,而是用常量代替,便於全域性搜尋
private static final int WORK_DAYS_PER_WEEK = 5;

5、儘量使用駝峰命名法,無需字首

6、類和物件名稱應為名詞而不是動詞。方法名應為動詞或動詞短語

二、函式

函式的原則:

1、避免使用長函式、函式要儘量要短小

2、別擔心命名過長

3、避免參數過多,一般小於三個,除非不得已

4、避免向函式傳入boolean值,堅持函式只做一件事原則

5、儘量做到函式複用,不要程式碼冗餘

6、適當添加註釋,學會使用TODO註釋

7、不要保留註釋掉的無用的程式碼,防止以後再次閱讀時困擾

8、一個類或函式功能編寫完成後,及時進行縮排,方便閱讀