前言
寫出優(yōu)雅的代碼,需要一個(gè)優(yōu)雅的模型設(shè)計(jì)。
在了解業(yè)務(wù)的情況下,閱讀優(yōu)雅的代碼就顯示真正的在操作或者執(zhí)行實(shí)際業(yè)務(wù)操作。
在不了解業(yè)務(wù)的情況下,閱讀優(yōu)雅代碼就能夠很快清楚業(yè)務(wù)是如何運(yùn)行的。
優(yōu)雅的代碼閱讀起來(lái),就應(yīng)該像閱讀小說(shuō)一樣。
取名
類名
屬性名
方法名
代碼應(yīng)具有對(duì)稱性
- 有開就有關(guān);
- 有鎖,就有解鎖;
- 有連接,就有釋放
- 有set,就有remove
- 有before, 就有after
- 有pre, 就有post
- 有開啟,就有關(guān)閉
而且是對(duì)稱的,并且在層次也是對(duì)稱的。
public void test() {
try{
lock();
xxxxx;
}finally {
unlock();
}
}
上面的代碼就是對(duì)稱。
public void testA() {
try{
testB();
xxxxx;
}finally {
unlock();
}
}
public void testB() {
lock();
}
上面的代碼就不對(duì)稱,萬(wàn)一有人調(diào)用了testB,就可能導(dǎo)致鎖沒(méi)有被釋放。