Hello!大家好啊,這里是每天分享一點(diǎn)辦公技巧的的小F!
| 導(dǎo)語基于 Readability 的出題閱卷經(jīng)驗(yàn)的一些不完全的具體的命名指南。
如果以 "is-a" 的方式實(shí)現(xiàn)了某個(gè)接口,那么通常實(shí)現(xiàn)會(huì)以 {InterfaceName}Impl 的方式命名。
恢復(fù):resume。resume 與 pause 是成對(duì)的。 resume 會(huì)恢復(fù) paused 到 running 狀態(tài)。通常,pause/resume 可以無限次隨時(shí)切換。
Template 指模板,通常不是正則形式的,而是簡單的匹配替換模板,如 HTML 模板。
它還支持星空截圖功能,可以幫助你記錄星辰美好瞬間。
總之,萌寵記賬是一款非常有趣實(shí)用的應(yīng)用,能夠幫助你輕松管理你和萌寵們的生活開支,建議你下載嘗試一下,相信你和你的萌寵們一定會(huì)喜歡上它!
https://github.com/kettanaito/naming-cheatsheet
Cached/Buffered 應(yīng)該在項(xiàng)目中是一致的。 Cached/Lazy/Memoized 取決于對(duì)象是被獲取的,還是創(chuàng)建的,還是計(jì)算獲得的。
通常會(huì)有一個(gè)專門的對(duì)象表示 Null Object??梢越栌?Tombstone 表示 Null Object。
“解析”動(dòng)名詞解析:
類/方法通常都按它們的行為模式來命名。恰好,設(shè)計(jì)模式就歸類抽象了很多行為模式。所以設(shè)計(jì)模式提供了很多好的名字。
【問答二】
推薦指數(shù):★★★★
struct Options {
int fur_layer_count; // Good
int fur_layer_count_property; // Bad! Property unnecessary
struct ColorProperty {
int a;
int r;
int g;
int b;
} // Bad! Prefer Color.
ColorProperty color;
}
Num/Count/Size/Length/Capacity
GoF 中代理模式用來添加一層抽象,以對(duì)實(shí)際類進(jìn)行控制,并添加某些行為(如 lazy/memoized),或是隱藏某些信息(例如可見性或是執(zhí)行遠(yuǎn)程調(diào)用)。
Go: Marshal
對(duì)應(yīng)動(dòng)詞 prefetch 或是簡單的 fetch
Context/Environment
模塊
Listner/Notifier 通??梢杂脕碜鳛?Observer/Observable 的同義詞。但是 Listener 也可能表示其它含義,如 TraceListener,視框架而定。
init vs prepare: 具體地細(xì)分,init 的語義通常指“在類生命周期層面處在正??蓤?zhí)行狀態(tài)”,prepare 的語義通常指“在業(yè)務(wù)層面做好準(zhǔn)備”
public class BazelRuntime { public boolean exec(Command cmd) { String m = cmd.mainCommand(); // YES, you can use single-letter variables in Java. // ... } }
Delegation:委派模式
Iterator: 迭代器
可以認(rèn)為它們都是同義詞。 在項(xiàng)目中應(yīng)該保持一致。
一:掌上識(shí)別王
二:微信
三:萬能文字識(shí)別
四:夸克瀏覽器
它支持多種白噪音,包括:圖書館、街頭、篝火、火車上、自然、雨聲、海浪聲、雷雨、咖啡館。
(Go 通常不使用這個(gè)命令風(fēng)格。只在 Java/C++ 中使用。)
GoF 中 Facade Pattern 通常是指為子系統(tǒng)提供一個(gè)更高層的統(tǒng)一界面,屏蔽子系統(tǒng)的獨(dú)有的細(xì)節(jié)。 在現(xiàn)實(shí)中,F(xiàn)acade 通常用來為非常復(fù)雜的類/系統(tǒng)定義一個(gè)較為簡化的界面,如:
5
對(duì)應(yīng)動(dòng)詞 fetch
值得注意的是:起名字之前一定要搜一下商標(biāo),你要去查一下你這個(gè)名稱有沒有被別人注冊成商標(biāo)。