|
英文原文:Express names in code: Bad vs Clean
編程初學(xué)者總是把大量的時(shí)間用在學(xué)習(xí)編程語(yǔ)言、語(yǔ)法、技巧和編程工具的使用上。他們認(rèn)為,如果掌握了這些技術(shù)技巧,他們就能成為不錯(cuò)的程序員。然而,計(jì)算機(jī)編程的目的并不是關(guān)于精通這些技術(shù)、工具的,它是關(guān)于針對(duì)特定領(lǐng)域里的特定問(wèn)題創(chuàng)造出相應(yīng)的解決方案,程序員通過(guò)相互合作來(lái)實(shí)現(xiàn)這些。所以,很重要的一點(diǎn),你需要能精確的用代碼表達(dá)出你的思想,讓其他人通過(guò)代碼能明白你的意圖。
讓我們先看看編程大師 Robert C. Martin 的杰作《Clean Code》里的一句話:
注釋的目的是為了彌補(bǔ)代碼自身在表達(dá)上的不足。
這句話可以簡(jiǎn)單的理解為如果你的代碼需要注釋,最有可能是你的代碼寫(xiě)的很爛。同樣,如果在沒(méi)有注釋的情況下你無(wú)法用代碼完整的表達(dá)你對(duì)一個(gè)問(wèn)題或一個(gè)算法的思路,那這就是一個(gè)失敗的信號(hào)。最終,這意味著你需要用注釋來(lái)闡明一部分的思想,而這部分在代碼里是看不出來(lái)的。好的代碼能夠讓任何人在不需要任何注釋的情況下看懂。好的編碼風(fēng)格能將所有有助于理解這個(gè)問(wèn)題的所有信息都蘊(yùn)含在代碼里。
在編程理論中,有一個(gè)概念叫做“自我描述的源代碼”。對(duì)于一段代碼,一種常見(jiàn)的自我描述機(jī)制是遵循某種非嚴(yán)格定義的變量、方法、對(duì)象命名規(guī)則。這樣做的主要作用就是使源代碼更易讀易懂。所以,也就更容易維護(hù)和擴(kuò)展。
這篇文章里,我將舉出一些例子,說(shuō)明什么是“不好的代碼”,什么是“清楚的代碼”
命名要能揭示意圖
如何命名,在編程中這永遠(yuǎn)都是個(gè)老大難問(wèn)題。有些程序員喜歡簡(jiǎn)化、縮短或加密名稱,使得只有他們自己能懂。下面讓我們看一些例子:
不好的代碼:
int d;// 天數(shù) int ds;int dsm;int faid;
it知識(shí)庫(kù):代碼里的命名規(guī)則:錯(cuò)誤的和正確的對(duì)比,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。