文章標(biāo)題使碾、就是我最近一直在思考的問(wèn)題,確實(shí)一直在困擾我祝懂。接下來(lái)就單方面的談?wù)勛约旱囊稽c(diǎn)看法票摇。
不知道你在第一眼看到 我寫的 我寫的 我寫的 這句代碼(OC)的時(shí)候是什么感覺(jué):
會(huì)不會(huì)感覺(jué)這個(gè)命名很屌絲,主要的原因是中間帶了兩個(gè)數(shù)字 00砚蓬,結(jié)構(gòu)就是 title + 00 + Label矢门,翻譯就是標(biāo)題標(biāo)簽控件, 疑惑是為什么中間待兩個(gè)莫名其妙的數(shù)字 00。
那么問(wèn)題來(lái)了灰蛙,當(dāng)別人第一次看到這樣的代碼時(shí)祟剔,會(huì)有什么的反應(yīng)呢?換個(gè)方式來(lái)問(wèn):如果你看到別人這樣寫摩梧,你會(huì)有什么反應(yīng)物延?
是不是,馬上吐槽這代碼真垃圾仅父、真 low叛薯,等等負(fù)面印象。
其實(shí)我在思考這個(gè)問(wèn)題的時(shí)候笙纤,我也在思考另外一個(gè)問(wèn)題:當(dāng)我們?cè)趯懘a的時(shí)候耗溜,一定要寫出別人一看就知道其真實(shí)含義的代碼嗎?
這個(gè)話題并非 憑空出世省容,是本周的時(shí)候抖拴,同事直接給截圖說(shuō)看不懂。我遇到這種情況蓉冈,不會(huì)去問(wèn)為什么看不懂城舞,但是我清楚其意思就是:為啥要加數(shù)字轩触。我只能回復(fù):我調(diào)整一下。
因?yàn)槲仪宄?看不懂 有兩種情況:第一種情況是沒(méi)有去我定義的地方看我的注釋家夺,第二種情況是去看了我的注釋之后還是看不懂脱柱。不管是哪種情況都很難與他解釋的。與其解釋拉馋,還不如噼里啪啦的改一下榨为。
我的備注是這樣的:
看完注釋,應(yīng)該就更能明白我不解釋的原因煌茴。因?yàn)槲乙恢闭J(rèn)為這樣命名是沒(méi)有什么問(wèn)題随闺,通過(guò)注釋能看出這個(gè)命名(屬性)是在一個(gè)基類中定義的,并且這個(gè)基類對(duì)我而言在整個(gè)項(xiàng)目中 95% 都是會(huì)使用到的蔓腐。當(dāng)時(shí)要將這個(gè) titleLabel 的屬性中間加 兩個(gè) 00矩乐,正如注釋所提示,防止子類中也需要再定義一個(gè)類似 標(biāo)題 的控件回论, 故而中間添加兩個(gè) 00 作為區(qū)分散罕。
我在變量中添加數(shù)字作為命名的一部分,也擔(dān)心別人誤解傀蓉,所以將注釋寫得這么詳細(xì)欧漱。但是還是被說(shuō)這樣的代碼看不懂,事情不大葬燎,但是帶來(lái)的卻是很多的思考误甚,自己也更應(yīng)該 自省。
在實(shí)際的開發(fā)中谱净,我是很反感使用待數(shù)字的命名的窑邦,但是有的時(shí)候確實(shí)是會(huì)使用一下。比如 2 與 8岳遥,2 可以代替 To奕翔、畢竟英文是 Two,讀法一樣浩蓉。這個(gè)并非我首創(chuàng)派继,很多大神都在使用,比如閑魚技術(shù)出品的 UI2Code捻艳。對(duì)于這個(gè) 8 估計(jì)是我的首創(chuàng)驾窟,8 與 & 很像、這個(gè) & 在編程中有 And 的意思认轨,所以在想使用 And 的時(shí)候绅络,為了減少長(zhǎng)度會(huì)直接選擇使用 8 來(lái)代替。但是 2 與 8 這樣的寫法不到關(guān)鍵特殊情況,我是不會(huì)使用的恩急。在一個(gè)項(xiàng)目中杉畜,最多出現(xiàn)三個(gè)地方。當(dāng)然衷恭,上面提到 00 命名此叠,在項(xiàng)目中僅出現(xiàn)兩個(gè),另一個(gè)是并行的 line00View, 所以就因?yàn)閯e人的一句看不懂随珠,我也一起調(diào)整了灭袁。
那么、核心問(wèn)題又來(lái)了:在開發(fā)中我們是否應(yīng)該使用數(shù)字來(lái)作為命名的一部分窗看? 其實(shí)每個(gè)程序員都很清楚茸歧,大家呼吁的不要使用數(shù)字作為變量的命名應(yīng)該是這樣的(為了獲取 *TabBarController 中的tab 導(dǎo)航控制器,盡然定義了四個(gè)變量):
但是显沈,有誰(shuí)能想到:寫這樣代碼的软瞎,盡然會(huì)說(shuō)看不懂 title00Label。
總之:在變量名中使用數(shù)字拉讯,風(fēng)險(xiǎn)性還是有的铜涉,建議盡量不要使用,除了讓別人看不懂遂唧,應(yīng)該很容易產(chǎn)生誤導(dǎo)。
這個(gè)周末去北京晃蕩了兩天吊奢,今天(周日)在北京與小伙伴們小聚一下聊聊目前的現(xiàn)狀盖彭。回到天津很累页滚,但是不想睡覺(jué)召边,所以就來(lái)簡(jiǎn)書牢騷一下。