程式設計師:為啥我寫的代碼幾個月後自己也看不懂?

2021-01-10 上世是朵花

寫在前面:中國程式設計師就別寫英文注釋了!

不要寫「太牛逼」的代碼!

"傻瓜式代碼" != "低性能代碼」

=========華麗的分界線==========

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

圖片來之網際網路

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

局面形成的原因

面向過程去寫代碼

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

代碼沒有注釋

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

代碼變量名稱隨意

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

每個方法分工不明確

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

破除這種局面

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

實現功能前先設計好代碼

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

注釋寫的儘量詳細

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

不要隨便定義臨時變量

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

不要寫過長的方法

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

不要寫太「牛逼」的代碼了

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

中國人就別寫英文注釋了

好多國內的程式設計師給代碼寫注釋用英文寫,如果英文非常好的話寫英文注釋那當然是無可厚非,如果你英文不好,就是為了裝13的話,那麼還是勸你別寫英文注釋了,你這不是在折磨自己也折磨別人嘛。讓我記得最荒唐的一個程式設計師的做法是,他為代碼寫了漢語注釋,然後用百度翻譯把它翻譯成英語貼到自己的代碼裡,呵呵,這哥們也夠逗的了。

大家好,我是「上世是朵花」。如果你有什麼好的看法或者觀點可以在評論區展現你的才華,互動交流,如果想進一步了解我,那就關注我吧。

相關焦點

  • 為啥國內程式設計師寫的代碼也用英文注釋?
    國內的一些程式設計師寫代碼用英文進行注釋,我覺得是他們編程之路上的一大重要進步。中國編程技術現在需要與國際接軌,而且國內很多程式設計師也喜歡更多了解程式語言的開原始碼,使用英文注釋會讓國內程式設計師在全球技術社區中形成廣泛共識和合作,從而使國內程式設計師能夠實現快速成長。
  • 寫代碼不嚴謹,我就不配當程式設計師?
    作者 | 阿文責編 | 伍杏玲知乎熱榜有個提問:一位準程式設計師學編程有一段時間了,但是經常被人吐槽編程不夠嚴謹,比如寫個計算器沒有考慮用戶輸入特殊字符或者沒有考慮到用戶輸入使用了錯誤的數據類型導致了溢出異常,感覺自己很菜,懷疑自己是否適合當程式設計師了?
  • 對程式設計師來說最難的是寫代碼嗎?
    相信看到這個標題的同學們都有自己的想法,可能剛剛進入這個行業的同學們會非常認同寫代碼就是程式設計師的主要工作,然而當你工作一定時間之後,寫代碼將變得不是那麼「重要」了,在悟空問答中眾位大咖為這個問題提供了多種多樣的答案:    答案一:寫代碼是程式設計師最主要工作,但是卻不是最難的工作,最難的是踢皮球和吵架!
  • 程式設計師的呆萌表現:外行人看不懂,內行人笑一天
    有句話叫做「內行看門道,外行看熱鬧」,但在程式設計師這一行,這句話反過來的機率很大,往往是外行人看門道,內行人看熱鬧。外行人總是覺得那些腦袋亮的程式設計師是技術高的程式設計師,認為代碼寫得多的是高手,看到一頁代碼,就要用有限的英語水平去看一下,說什麼需求什麼功能,頭頭是道。
  • 停電後程式設計師網吧寫代碼,被人當成黑客報警,網友:想偷我裝備
    程式設計師作為高新技術的代表性職業,收入也是極為豐富,甚至在許多人眼裡就是年薪百萬的代名詞,讓不少人進入這個行業,成為一名「程序猿」。正好有一位網友分享了他作為程式設計師的一件趣事,讓我們來看看。這位程式設計師分享說因為實驗室突然停電,而他和同事們又不想回家寫代碼,想要在一起寫,這樣方便交流,於是來到一家網吧準備熬夜寫程序。
  • 1024程式設計師節,不寫代碼還能寫啥
    寫文章是先苦後樂、苦中作樂、以苦為樂;寫代碼是被需求變更虐,被甲方爸爸毒打,被半路接盤的代碼按在地上摩擦。前陣子,有句話戳中了許多文字工作者的淚點,「好文章不是信手拈來的,需要付出艱辛的努力,心力、精力投入多少與文章質量高低一般是成正比的。」古人講得沒錯,「兩句三年得,一吟雙淚流」。
  • 看了這個鍵盤,你認為是什麼語言程式設計師?python程式設計師:不是我!
    最近有名程式設計師朋友就發出了一張圖片,這張圖片展示了遊戲玩家鍵盤與程式設計師鍵盤的痕跡模樣,這名程式設計師網友看了這張圖片後,也默默的看了下自己的鍵盤,的確是這樣的,自己被說中了,當然也有其他網友分別對這張圖片發表了看法,並不是所有程式設計師都認同這件事情。我們一起來看看吧!
  • 為什麼我看不懂你的代碼
    「我到底在想什麼?!?」凌晨1:30分,我正盯著不到一個月前我寫的一段代碼。當時它看起來像是件藝術品,全部是可理解的,優雅、簡單、讓人嘆為觀止。這一切都不再了,明 天是我的最後期限,數小時前我發現了一個bug。當時看起來的簡單和邏輯再也說不通了。可以肯定的是,如果我寫代碼,我應該足以聰明到理解代碼?經過了多次這種經歷以後,我開始認真思考,為什麼我的代碼在我編寫的時候很清楚、而當我數周或數月後回頭看的時候,它們卻那麼費解。
  • 程式設計師曬出實習生的一段代碼,表示看不懂!網友:out了,新寫法
    技術總是在不停的更新迭代,這就是程式設計師為什麼要保持學習能力的原因了,與其他行業相比,程式設計師不學習新知識,只是保持現有的技術,幾年後再回頭看看,就可能與同行落下去一大截,當然,對於技術的更新也是徐徐漸進的,只要有一定的技術嗅覺,多留意一些技術官方網站的最新發布, 多留意一下發展的動向就不會那麼輕易落後
  • IT行業裡,好的程式設計師一天應該寫多少行代碼?
    今天大概寫了4個函數,昨天寫了5個函數,每個函數大概20行左右吧,都快累死了~~~也不知道和優秀的程式設計師差多少。不知道大家每天都寫多少~~~~1樓曾經有個專家說,每天精華代碼是1行。誇張了。邏輯複雜的代碼,80行,你已經算高效的了。
  • 一個比直播睡覺更奇怪的網站:直播程式設計師寫代碼
    今天我發現了一個奇怪的網站:https://www.livecoding.tv。一點進去它的主頁就有一個直播窗口,內容是程式設計師坐在自己的電腦前寫代碼,比如這樣:當時在首頁迎接我的,是一個比這張截圖右下角的人類活波得多的生物。
  • 帶著電腦跑外賣 95後程式設計師一邊送外賣一邊改代碼
    在安徽合肥一個小區門口,一位年輕的餓了麼藍騎士從身後的雙肩包裡拿出了一臺筆記本電腦,開始熟練地寫起了代碼。他叫張賢建,一位95後程式設計師,現在兼職做騎手。在送外賣的同時,繼續堅持寫代碼,有時候有一些臨時的需求,他就坐在公園、小區路邊改。
  • 3D遊戲編程:遊戲代碼的整體結構是什麼樣子的?
    也就是說,你能把前面17節的內容完全掌握了,你的3D遊戲編程基礎就有了,接下來再講解代碼,你就很容易明白了。從這一節開始,我們將要把整個3D遊戲示例程序的代碼講解一遍。由於有Direct3D的幫忙,我的程序代碼只有1000來行,所以,即便你是初學者,也是可以學明白這些代碼的。
  • 嫁給程式設計師有什麼好處?程式設計師新郎接親,被要求現場寫代碼告白
    很多人一談到程式設計師,是不是都覺得他們搞開發的,一定是非常聰明,鐵飯碗,工資很高,是不是都覺得程式設計師棒棒的,好崇拜,好羨慕,如果談到結婚,你會選擇嫁給程式設計師嗎?近日程式設計師新郎接親,被要求現場寫代碼告白,你知道嫁給程式設計師有什麼好處嗎?
  • 解決新手程式設計師學習中的常見困惑,以及給程式設計師新手們寫簡歷的一些...
    相比其他開發者,我又笨又沒準備。老闆會知道我是多麼無能,我要被炒魷魚了。」這種想法,在我們作為一名軟體開發人員剛進入工作領域的時候,非常常見。我也不例外。這種想法會讓人覺得自己不如其他的開發者,感覺自己是濫竽充數的,感覺自己像一個全面的傻瓜,當涉及到寫代碼的時候。
  • 程式設計師:停電去網吧寫代碼,被當成黑客報警了,網友:想偷我戒指
    甚至在很多人眼裡,這就是年薪百萬,一夜成名的職業了,也讓程式設計師這個行業增添了幾分神秘感,這也讓很多人好奇,究竟是做什麼能夠讓自己收入這麼多呢,他們為何有如此強大的吸金能力呢?有位網友就在論壇上發表自己作為一位程式設計師曾遇到的尷尬事情。
  • 程式設計師求助:雷軍94年寫的代碼什麼水平?眾人:我認慫,跪著讀!
    而他們剛剛起步的時候,可能就是一個普通的程式設計師,當初也是過著沒日沒夜碼代碼的生活。小米科技的創始人雷軍,想必大多數人應該都不陌生了,當年他也是個普通的技術員而已,那麼大家想不想知道當年他的代碼水平如何呢?那麼接下來就讓我們一起來看一下吧!那麼網友們對於雷軍的代碼水平又有什麼看法呢?
  • 優秀而高效的程式設計師必需寫好代碼的10個技巧
    在本文中,作者介紹了10個寫好代碼的建議,以自己切身編寫代碼的體會和經驗來告訴開發者這10個建議的好處,並指導讀者成為一個優秀而高效的程式設計師。
  • 以後程式設計師可能再也不用寫代碼了!你信嗎?
    一位來自阿里巴巴程式設計師的吐槽,說出了無數程式設計師的心聲。軟體進步靠研發,研發進展靠程式設計師,程式設計師寫代碼主要靠加班。據說,十個程式設計師裡有十一個都曾經歷過996,乃至007的工作節奏。核心兩個詞:寫代碼、改bug、如何實現?——996而開發周期過長,連996都無法解決,也是目前不少小企業面臨的困境。
  • 高校理科專業博士:去做了程式設計師值麼?網友:很喜歡寫代碼麼?
    網友四:喜歡寫代碼嗎上世是朵花:樓主表示還挺喜歡的,但是做底層的,加班有點多,很心累網友六:底層是有多底層?我覺得錢多+你喜歡碼代碼就算值得。理科專業太寬泛了,化學生物和物理的大部分方向,博士畢業就業是個什麼鳥樣大家還不清楚嗎,至於數學,也有大把坑的方向,既來之則安之,如果你能找到更好的能跳出去自然好,如果不能,何必整天自怨自艾上世是朵花:沒錯,每一個選擇都是自己經過比較判斷後最好的,沒必要在乎別人的看法,也用不著抱怨,抱怨也換不來更好,還不如踏踏實實的just do it