-
程序員:為什么幾個月后我自己寫的代碼看不懂
發布:51Code 時間: 2019-02-21 14:32
-
寫在開始的注釋很重要,注釋很重要,注釋很重要,重要的事情說三遍。 程序員們大多都會有過這樣的經歷,就是要看別人寫的代碼。比如說公司有同事離職了,他的業務就需要有其它...
-
寫在開始的"注釋很重要","注釋很重要","注釋很重要",重要的事情說三遍。
程序員們大多都會有過這樣的經歷,就是要看別人寫的代碼。比如說公司有同事離職了,他的業務就需要有其它的小伙伴們給接下來繼續維護。這對好多程序員來說是一種折磨,邊看邊罵,這寫的是什么東西呀。相信好多人都有這種經歷。
那么為什么會出現這樣一個局面呢,其實這里面就有很多講究的地方了,如果不注意的話,不光是看不懂別人寫的代碼,即使是自己寫的代碼,幾個月后你再去瞧瞧,你也會發現,咦,看不懂了呢。那么接下來就分析一下這種情況形成的原因及怎么去解決它們。
形成這種局面的原因
1.面向過程去寫代碼
寫代碼前沒有對代碼進行設計,完全是隨心所欲去實現。對自己的要求比較低,就是“能實現功能就可以了”這種心態去寫代碼。這樣的代碼將來是十分不好維護的,別說以后讓別人來維護這個代碼了,即使幾個月后的自己也是非常困難能讀懂自己的代碼。
2.代碼沒有注釋
代碼注釋是對讀取代碼有著非常好的輔助作用,是其他人能夠快速的了解代碼的功能,同時對自己以后回頭來看自己的代碼也是十分有幫助的。沒有注釋的代碼就像深夜車燈壞了的汽車一樣,雖然能行駛,但是你敢快開么?
3.代碼變量名稱隨意
比如什么abc,temp這類變量,這是讓誰看的,不根據代碼的上下文誰也不知道這是啥意思,如果代碼的上下文中全是類似這樣的變量,我估計看代碼的人會瘋掉的。
4.每個方法分工不明確
一個方法中夾雜著多種功能,讓人看了之后很難說出這個方法是干啥的,也不敢輕易去修改。
不論為自己還是為別人,讓以后自己能看懂自己的代碼,還是為別人能看懂自己的代碼,讓自己不挨罵,那么就推薦以下幾種方法來規范自己的代碼,讓別人或者是自己能夠輕輕松松看懂自己的代碼
破除這種局面
1.實現功能前先設計好代碼
最好是面向對象的方式編程,不論是java還是Python都能很好的應用面向對象的方式進行編程,設計好文件名,類名,以及方法名,不論是文件名,還是類名,方法名都要做到見名知意,要用標準的英文去表示,需要用多個英文表示就用駝峰標識來表達。讓人看上去結構一目了然,代碼看上去讓人賞心悅目。
2.注釋寫的盡量詳細
每個類,每個方法都要寫明注釋, 類的注釋可以簡明寫這個類的主要功能,但是每個方法的注釋盡量要寫細了,注釋一定要覆蓋方法中所實現的所有功能,而不是只寫其中一部分。看過系統級源碼的程序員都知道,注釋的行數是比代碼的行數還要多的。這就是優秀的習慣,我們也要去學習、掌握。
3.不要隨便定義臨時變量
盡量不要定義一些臨時的變量,如果十分必要定義時,最好是加上單行注釋,讓其他人知道你的意圖。
4.不要寫太長的方法
每個方法最好不要超過50行代碼,如果過長了,可以考慮該方法的功能點是否可以再次拆分,最好是一個方法就實現單一的一個功能,這樣的話方法的復用率也會提高的。
5.不要寫太“牛”的代碼了
有的程序員喜歡寫非常有個性的代碼,喜歡寫一些別人很難看懂的代碼,他認為這樣才能顯示出自己的“高水平”,這樣就不是高水平了,只能說代碼的可讀性太差了,我們要寫出傻瓜式代碼,也就是說讓很傻的程序員都能看懂,"傻瓜式代碼" != "低性能代碼”哈,這一點要分開。
6.中國人就別寫英文注釋了
好多國內的程序員給代碼寫注釋用英文寫,如果英文非常好的話寫英文注釋那當然是無可厚非,如果你英文不好,那么還是勸你別寫英文注釋了,你在折磨自己也折磨別人嘛。
在剛開始的學習階段大部分老師都會要求學生寫注釋,只是我們在后面的學習工作中,因為有些時候需要趕進度,會忽略了代碼注釋,代碼注釋不僅方便自己以后修改代碼,還會使別人更好的理解你的代碼。
文章來源:https://blog.csdn.net/qq_41552245/article/details/86489132上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理。了解51Code- 2019年7月份,阿里最新Java高頻面試真 07月31日
- Java設計模式——享元模式 07月26日
- 從入門到熟悉 HTTPS 的 9 個問題 05月14日
- Java不可重入鎖和可重入鎖理解 04月15日
- 網傳華為 Java 編程軍規 04月08日
- 一名Android程序員的BAT面經和感想 03月04日
- Android程序員的Java后臺學習建議 01月21日
- 新手必看:一文搞懂程序員的4大職業 11月02日
- 如何避免程序員的中年危機? 10月29日
- 月薪3000與月薪30000的程序員,差在了 10月08日
- 怎么看待程序員普遍缺乏數據結構和 09月13日
- 一位程序員工作10年總結的13個忠告 08月15日
- 這三種程序員,是時代的溺水者 07月26日
- 博為峰成立十五周年記02月15日
- 博為峰51Code推出“ACE計劃”12月12日
- 博為峰51Code“全棧Java工程師”課程再03月01日
