代碼整潔之道筆記
[TOC]
命名
代碼的整潔,從命名開始
名副其實焕毫、準確
名稱應該能夠說明該(變量铣墨、類弟灼、函數(shù))存在的意義:
int d; //無法體現(xiàn)出該變量的用途
int daysSinceCreation;
int elapsedTimeInDays;
準確的命名能夠清晰的說明代碼的意圖:
public List<int[]> getFlaggedCells() {
List<int[]> list1 = new ArrayList<int[]>();
for (int[] x: theList)
if (x[0] == 4)
list1.add(x);
return list1;
}
public List<Cell> getFlaggedCells() {
List<Cell> flaggedCells = new ArrayList<int[]>();
for (Cell cell: gameBoard)
if (Cell.isFlagged())
flaggedCells.add(cell);
return flaggedCells;
}
避免誤導
少用專有名詞:
int accountLists | int accountGroup | int accounts;
顯然List會讓人想到List數(shù)據類型,需要改用另外兩個更好的選擇徙缴。
有意義的區(qū)分
如用info寂屏、data這樣的詞修飾的命名意義含混。
動詞不應該出現(xiàn)在變量名中娜搂。table不應該出現(xiàn)在表名中:
nameString ===> name
CustomerObject ===> Customer
moneyAmount ===> money
customerData ===> customer
可閱讀的名字
簡單來說就是別自己瞎造詞迁霎,選通用一點的單詞。
類名
不應該是動詞百宇,不應該是語意含混詞(data考廉、info、manager携御、processor)
方法名
應該是動詞或者動詞短語昌粤。
getXXX();
setXXX();
deletePage();
概念單一對應
如插入數(shù)據方法用add或create,編輯用edit或update啄刹。
如控制不要同時出現(xiàn)controller涮坐、manager或
添加有意義的語境
有時候命名的方法變量不能清晰的表明意圖,這個時候可以將方法放在類中誓军,提供更明確的語境:
public class GuessStatisticsMessage {
private String number;
private String verb;
public String make() {
}
}
最關鍵的是
一定要學好英語啊~~~~~~~~ QAQ