广西十一选五玩法|广西十一选五开奖查询
  • 程序員:為什么幾個月后我自己寫的代碼看不懂

    發布: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),我們將立即處理。
  • 上一篇:Android開發中的面向切面編程AOP

    下一篇:Android Pie 引入 Keystore 新特性,安全防護再升級

網站導航
Copyright(C)51Code軟件開發網 2003-2019 , 滬ICP備05003035號-6
广西十一选五玩法 老时时开奖结果公布 手游助手电脑版赚钱的 麻将规则 重庆时时彩龙虎口诀 扑克牌背面认牌技巧 金拉霸怎么玩 北京pk10怎么看走势图 秒速时时精准计划群 求猫咪App的网站是多少呀 广西快乐开奖走势图