程式設計師懵逼時刻:幾個月後,之前自己寫的程式碼也看不懂了?

智雲程式設計發表於2019-02-20

程式設計師們大多都會有過這樣的經歷,就是要看別人寫的程式碼。比如說公司有同事離職了,他的業務就需要有其它的小夥伴們給接下來繼續維護。這對好多程式設計師來說是一種折磨,邊看邊罵,這寫的是什麼東西呀。相信好多人都有這種經歷。

那麼為什麼會出現這樣一個局面呢,其實這裡面就有很多講究的地方了,如果不注意的話,不光是看不懂別人寫的程式碼,即使是自己寫的程式碼,幾個月後你再去瞧瞧,你也會發現,咦,看不懂了呢。那麼接下來就分析一下這種情況形成的原因及怎麼去解決它們。

”註釋很重要”,”註釋很重要”,”註釋很重要”,重要的事情說三遍。

程式設計師懵逼時刻:幾個月後,之前自己寫的程式碼也看不懂了?

形成這種局面的原因

1.程式導向去寫程式碼

寫程式碼前沒有對程式碼進行設計,完全是隨心所欲去實現。對自己的要求比較低,就是“能實現功能就可以了”這種心態去寫程式碼。這樣的程式碼將來是十分不好維護的,別說以後讓別人來維護這個程式碼了,即使幾個月後的自己也是非常困難能讀懂自己的程式碼。

2.程式碼沒有註釋

程式碼註釋是對讀取程式碼有著非常好的輔助作用,是其他人能夠快速的瞭解程式碼的功能,同時對自己以後回頭來看自己的程式碼也是十分有幫助的。沒有註釋的程式碼就像深夜車燈壞了的汽車一樣,雖然能行駛,但是你敢快開麼?

3.程式碼變數名稱隨意

比如什麼abc,temp這類變數,這是讓誰看的,不根據程式碼的上下文誰也不知道這是啥意思,如果程式碼的上下文中全是類似這樣的變數,我估計看程式碼的人會瘋掉的。

4.每個方法分工不明確

一個方法中夾雜著多種功能,讓人看了之後很難說出這個方法是幹啥的,也不敢輕易去修改。

不論為自己還是為別人,讓以後自己能看懂自己的程式碼,還是為別人能看懂自己的程式碼,讓自己不捱罵,那麼就推薦以下幾種方法來規範自己的程式碼,讓別人或者是自己能夠輕輕鬆鬆看懂自己的程式碼

程式設計師懵逼時刻:幾個月後,之前自己寫的程式碼也看不懂了?

破除這種局面

1.實現功能前先設計好程式碼

最好是物件導向的方式程式設計,不論是java還是Python都能很好的應用物件導向的方式進行程式設計,設計好檔名,類名,以及方法名,不論是檔名,還是類名,方法名都要做到見名知意,要用標準的英文去表示,需要用多個英文表示就用駝峰標識來表達。讓人看上去結構一目瞭然,程式碼看上去讓人賞心悅目。

2.註釋寫的儘量詳細

每個類,每個方法都要寫明註釋, 類的註釋可以簡明寫這個類的主要功能,但是每個方法的註釋儘量要寫細了,註釋一定要覆蓋方法中所實現的所有功能,而不是隻寫其中一部分。看過系統級原始碼的程式設計師都知道,註釋的行數是比程式碼的行數還要多的。這就是優秀的習慣,我們也要去學習、掌握。

3.不要隨便定義臨時變數

儘量不要定義一些臨時的變數,如果十分必要定義時,最好是加上單行註釋,讓其他人知道你的意圖。

4.不要寫太長的方法

每個方法最好不要超過50行程式碼,如果過長了,可以考慮該方法的功能點是否可以再次拆分,最好是一個方法就實現單一的一個功能,這樣的話方法的複用率也會提高的。

5.不要寫太“牛”的程式碼了

有的程式設計師喜歡寫非常有個性的程式碼,喜歡寫一些別人很難看懂的程式碼,他認為這樣才能顯示出自己的“高水平”,這樣就不是高水平了,只能說程式碼的可讀性太差了,我們要寫出傻瓜式程式碼,也就是說讓很傻的程式設計師都能看懂,”傻瓜式程式碼” != “低效能程式碼”哈,這一點要分開。

6.中國人就別寫英文註釋了

好多國內的程式設計師給程式碼寫註釋用英文寫,如果英文非常好的話寫英文註釋那當然是無可厚非,如果你英文不好,那麼還是勸你別寫英文註釋了,你在折磨自己也折磨別人嘛。

在剛開始的學習階段大部分老師都會要求學生寫註釋,只是我們在後面的學習工作中,因為有些時候需要趕進度,會忽略了程式碼註釋,程式碼註釋不僅方便自己以後修改程式碼,還會使別人更好的理解你的程式碼。

程式設計師懵逼時刻:幾個月後,之前自己寫的程式碼也看不懂了?

自己是從事了五年的前端工程師,不少人私下問我,2019年前端該怎麼學,方法有沒有?

沒錯,年初我花了一個多月的時間整理出來的學習資料,希望能幫助那些想學習前端,卻又不知道怎麼開始學習的朋友。

這裡推薦一下我的前端學習交流群:731771211,裡面都是學習前端的從最基礎的HTML+CSS+JS【炫酷特效,遊戲,外掛封裝,設計模式】到移動端HTML5的專案實戰的學習資料都有整理,送給每一位前端小夥伴。2019最新技術,與企業需求同步。好友都在裡面學習交流,每天都會有大牛定時講解前端技術!

點選:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2636464/,如需轉載,請註明出處,否則將追究法律責任。

相關文章