Java程式設計規範簡版總結
阿新 • • 發佈:2021-07-02
習藝之道有二:知和行。你應當習得有關原則、模式和實踐的知識,窮盡應知之事,並且要對其瞭如指掌,通過刻苦實踐掌握它。
一、變數
命名看著很簡單,但是選擇一個好名字要花時間。但是隨意命名,看似節省了時間,但後續自己或別人閱讀程式碼的時候需要花費更多的時間。好的命名應該可以讓人一眼就能知道它為什麼會存在,它做什麼事,它該怎麼用。利己由利於他人。
糟糕的命名示例:
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、一個類或函式功能編寫完成後,及時進行縮排,方便閱讀