你見過馬化騰、劉強(qiáng)東編寫的代碼嗎?

01

關(guān)于馬化騰編碼的水平,網(wǎng)絡(luò)上曾有這樣一個(gè)段子:

曾經(jīng)和pony(馬化騰)一起寫過代碼。當(dāng)時(shí)我、pony、馬克3人擠在一個(gè)只有10個(gè)位置的房間里,埋頭開發(fā)。馬克當(dāng)時(shí)負(fù)責(zé)排查兩個(gè)bug,跟進(jìn)了10個(gè)月,沒有一點(diǎn)進(jìn)展,下樓準(zhǔn)備買點(diǎn)瑞士卷吃,消消愁。回來發(fā)現(xiàn)pony光著膀子,啃著個(gè)豬蹄兒,站在陽臺(tái),望著寂靜的夜,回頭冷靜地和馬克說了句:“bug我?guī)湍闾幚砗昧恕!?/p>

可見老馬的編碼水平之高,當(dāng)然,這只是個(gè)段子。但據(jù)說當(dāng)年創(chuàng)業(yè)時(shí),公司主頁是馬化騰自己親手制作的。

關(guān)于他編碼是不是最好的,我們不知道;但可以肯定的是,他一定是通過軟件掙錢掙得最多的那位程序員。

02

無獨(dú)有偶,互聯(lián)網(wǎng)界的精英,大多數(shù)是技術(shù)出身,譬如雷軍、李彥宏、周鴻祎等,幾乎都是編程高手。作為京東首席CEO,劉強(qiáng)東編碼水平也備受關(guān)注。

知乎上,有人曾提問過這樣一個(gè)問題:

劉強(qiáng)東的代碼水平如何?

有網(wǎng)友這樣回復(fù):

劉強(qiáng)東在一次講座上,稱自己在校大三的時(shí)候,也就是1995年左右,他給別人寫代碼,一個(gè)晚上就能賺5萬。

95年一個(gè)晚上5萬,那是什么概念。

至于劉強(qiáng)東編碼的水平究竟怎樣,是不是像上面網(wǎng)友形容的那樣,可以一個(gè)晚上賺5萬,我們無從而知。

但可以肯定的是,無論是馬化騰還是劉強(qiáng)東,所編寫的代碼應(yīng)該很規(guī)范。

不知你有沒有類似這樣的這樣的經(jīng)歷:

回頭看看自己一年前編寫的代碼,驚訝地發(fā)現(xiàn),哇哈,如此不規(guī)范的代碼,是誰編寫的?確定是我寫的嗎?我能寫出這樣慘目忍睹的代碼?分分鐘鐘懷疑人生。

代碼規(guī)范的重要性我們都知道,但要真正做好,還需要我們?cè)趯?shí)踐中慢慢的累積,不斷修煉。

03

如果代碼沒有統(tǒng)一的規(guī)范,每個(gè)人都按照自己掌握理解的那一套,那么整個(gè)項(xiàng)目的代碼很可能就會(huì)出現(xiàn)風(fēng)格迥異。即使是分工明細(xì),每個(gè)人負(fù)責(zé)一個(gè)模塊,等到要整合代碼的時(shí)候就尷尬了。

很多時(shí)候,并非程序的算法有多復(fù)雜,或是邏輯多么復(fù)雜,而是因?yàn)榇a不規(guī)范,越讀越費(fèi)勁,把精力都耗在這里了。

統(tǒng)一的代碼規(guī)范可使得代碼可讀性大大提高, 在團(tuán)隊(duì)的合作開發(fā)中是非常有益而且很有必要。

04

項(xiàng)目維護(hù)工作不僅讀懂源碼,而且還需要在原有源碼基礎(chǔ)上作出修改。如果沒有統(tǒng)一代碼規(guī)范,很可能會(huì)出現(xiàn)這種現(xiàn)象:

張三完成開發(fā)以后,李四進(jìn)行維護(hù)加一段代碼,過一段時(shí)間王五又加一段代碼。原本一個(gè)很普通的需求,經(jīng)歷了N次迭代和修改,已經(jīng)形成了巨大的功能。直到有一天,張三、李四、王五都辭職了,新來的員工看到那一大堆沒有統(tǒng)一規(guī)范的代碼。想死的心都有了。
隨著不斷迭代版的維護(hù)成本越來越高,從而形成惡性循環(huán)。程序背后的架構(gòu)設(shè)計(jì)或模式固然重要,但良好的命名也不容忽視。不規(guī)范的命名不僅讓我們對(duì)代碼難以理解,更糟糕的是,會(huì)誤導(dǎo)我們的思維,導(dǎo)致對(duì)代碼的理解有偏差。

相反,良好的命名規(guī)范,則可以讓我們的代碼更加容易讀懂,也能向讀者正確表達(dá)事物以及邏輯的本質(zhì),閱讀命名規(guī)范的源碼理解沒有那么費(fèi)勁,會(huì)有一種享受的感覺。

有人喜歡對(duì)控件textview1,textview2,textview3、,textview4類似這樣的命名,甚至還對(duì)其添加注釋。

有人可能認(rèn)為注釋越多,其他人看到的就會(huì)越好。其實(shí)不然,注釋過多,或是一些冗余注釋,反而會(huì)影響源碼的可讀性。如果我們良好的命名規(guī)范,結(jié)合了需要和命名。它可以省去許多不必要的注釋。

對(duì)于方法命名,首字母一會(huì)兒大寫,一會(huì)兒小寫;一會(huì)兒全稱一會(huì)兒簡寫;一會(huì)兒駝峰命名法一會(huì)兒匈牙利命名法。

當(dāng)然,起一個(gè)好的名字不是件容易的事情。首先,既要有盡量多的提供變量信息,又要盡可能的保證名字短小精悍,還不能為了短小而隨意采用縮寫而導(dǎo)致閱讀障礙,另外還要盡量保證以后程序更新后名稱仍然能很好的描述其內(nèi)容。

在編寫代碼中,要盡可能的遵守一個(gè)良好的命名規(guī)范,并且不停地的調(diào)整學(xué)習(xí)命名,從而逐漸掌握起一個(gè)良好名字的能力。

05

知道了代碼規(guī)范的重要性,但有時(shí)候迫于項(xiàng)目趕進(jìn)度壓力,有的因?yàn)榉爆嵉囊?guī)范作出很多額外的工作,影響了項(xiàng)目開發(fā)進(jìn)度,而漸漸被忽略。

規(guī)范不是對(duì)開發(fā)的制約,而確實(shí)是有助于提高開發(fā)效率的,最大的受益人其實(shí)還是自己。

不知你有沒有類似這樣的經(jīng)歷:

很多的時(shí)候閱讀自己的代碼,需要花費(fèi)很多時(shí)間?
尤其是出現(xiàn)bug的時(shí)候需要逐行的debug?
自己編寫的代碼過了一段時(shí)間后再來看自己都亂了頭緒。回到前面說的疑問,這代碼是我自己寫的嗎?
我們應(yīng)該做的就是規(guī)范開發(fā),減少自己出現(xiàn)的錯(cuò)誤。很多時(shí)候項(xiàng)目的壓力一部分也是由于前期開發(fā)中遺留的眾多的問題。

那些看似無用的東西要經(jīng)過我們慢慢地累積由量變達(dá)到質(zhì)變的時(shí)候,相信你能體會(huì)到其價(jià)值所在。

養(yǎng)成良好的代碼規(guī)范不是為了別人,也不是為了公司,而是為了提高自己的編程修養(yǎng),提高自己認(rèn)識(shí)事物的能力。讓自己編寫的代碼可維護(hù)性更好、可重用性和可擴(kuò)展性更強(qiáng)。

接手別人項(xiàng)目時(shí),最讓你最難以接受的是什么?沒注釋,代碼亂?代碼冗余?架構(gòu)拓展差?歡迎留言!

【END】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,491評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評(píng)論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,708評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,186評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,409評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,939評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,774評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,976評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,209評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評(píng)論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,650評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,958評(píng)論 2 373

推薦閱讀更多精彩內(nèi)容