寫在開始的"注釋很重要"臭觉,"注釋很重要","注釋很重要"辱志,重要的事情說三遍蝠筑。
程序員們大多都會有過這樣的經(jīng)歷,就是要看別人寫的代碼揩懒。比如說公司有同事離職了菱肖,他的業(yè)務就需要有其它的小伙伴們給接下來繼續(xù)維護。這對好多程序員來說是一種折磨旭从,邊看邊罵稳强,這寫的是什么東西呀。相信好多人都有這種經(jīng)歷和悦。
那么為什么會出現(xiàn)這樣一個局面呢退疫,其實這里面就有很多講究的地方了,如果不注意的話鸽素,不光是看不懂別人寫的代碼褒繁,即使是自己寫的代碼,幾個月后你再去瞧瞧馍忽,你也會發(fā)現(xiàn)棒坏,咦燕差,看不懂了呢。那么接下來就分析一下這種情況形成的原因及怎么去解決它們坝冕。
形成這種局面的原因
1.面向過程去寫代碼
寫代碼前沒有對代碼進行設計徒探,完全是隨心所欲去實現(xiàn)。對自己的要求比較低喂窟,就是“能實現(xiàn)功能就可以了”這種心態(tài)去寫代碼测暗。這樣的代碼將來是十分不好維護的,別說以后讓別人來維護這個代碼了磨澡,即使幾個月后的自己也是非常困難能讀懂自己的代碼碗啄。
2.代碼沒有注釋
代碼注釋是對讀取代碼有著非常好的輔助作用,是其他人能夠快速的了解代碼的功能稳摄,同時對自己以后回頭來看自己的代碼也是十分有幫助的稚字。沒有注釋的代碼就像深夜車燈壞了的汽車一樣,雖然能行駛厦酬,但是你敢快開么胆描?
3.代碼變量名稱隨意
比如什么abc,temp這類變量,這是讓誰看的弃锐,不根據(jù)代碼的上下文誰也不知道這是啥意思袄友,如果代碼的上下文中全是類似這樣的變量殿托,我估計看代碼的人會瘋掉的霹菊。
4.每個方法分工不明確
一個方法中夾雜著多種功能,讓人看了之后很難說出這個方法是干啥的支竹,也不敢輕易去修改旋廷。
不論為自己還是為別人,讓以后自己能看懂自己的代碼礼搁,還是為別人能看懂自己的代碼饶碘,讓自己不挨罵,那么就推薦以下幾種方法來規(guī)范自己的代碼馒吴,讓別人或者是自己能夠輕輕松松看懂自己的代碼
破除這種局面
1.實現(xiàn)功能前先設計好代碼
最好是面向?qū)ο蟮姆绞骄幊淘耍徽撌?a target="_blank" rel="nofollow">java還是Python都能很好的應用面向?qū)ο蟮姆绞竭M行編程,設計好文件名饮戳,類名豪治,以及方法名,不論是文件名扯罐,還是類名负拟,方法名都要做到見名知意,要用標準的英文去表示歹河,需要用多個英文表示就用駝峰標識來表達掩浙。讓人看上去結(jié)構(gòu)一目了然花吟,代碼看上去讓人賞心悅目。
2.注釋寫的盡量詳細
每個類厨姚,每個方法都要寫明注釋衅澈, 類的注釋可以簡明寫這個類的主要功能,但是每個方法的注釋盡量要寫細了遣蚀,注釋一定要覆蓋方法中所實現(xiàn)的所有功能矾麻,而不是只寫其中一部分“盘荩看過系統(tǒng)級源碼的程序員都知道险耀,注釋的行數(shù)是比代碼的行數(shù)還要多的。這就是優(yōu)秀的習慣玖喘,我們也要去學習甩牺、掌握。
3.不要隨便定義臨時變量
盡量不要定義一些臨時的變量累奈,如果十分必要定義時贬派,最好是加上單行注釋,讓其他人知道你的意圖澎媒。
4.不要寫太長的方法
每個方法最好不要超過500行代碼搞乏,如果過長了,可以考慮該方法的功能點是否可以再次拆分戒努,最好是一個方法就實現(xiàn)單一的一個功能请敦,這樣的話方法的復用率也會提高的。
5.不要寫太“糯⒚担”的代碼了
有的程序員喜歡寫非常有個性的代碼侍筛,喜歡寫一些別人很難看懂的代碼,他認為這樣才能顯示出自己的“高水平”撒穷,這樣就不是高水平了匣椰,只能說代碼的可讀性太差了,我們要寫出傻瓜式代碼端礼,也就是說讓很傻的程序員都能看懂禽笑,"傻瓜式代碼" != "低性能代碼”哈,這一點要分開蛤奥。
好多國內(nèi)的程序員給代碼寫注釋用英文寫佳镜,如果英文非常好的話寫英文注釋那當然是無可厚非,如果你英文不好喻括,那么還是勸你別寫英文注釋了邀杏,你在折磨自己也折磨別人嘛。