色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

爛代碼你能忍嗎?優秀的代碼VS糟糕的代碼

C語言編程基礎 ? 來源:未知 ? 作者:伍文輝 ? 2018-03-30 10:09 ? 次閱讀

可持續開發不僅在于項目架構設計,還與代碼質量密切相關,代碼的整潔度和質量成正比。—— Robert C. Martin, “Clean Code”

如果你還沒有發現代碼質量的區別,如果你從未見過優秀的代碼,或者從未見過糟糕的代碼,那么本文將以直觀地對比,告訴你代碼質量究竟會有多大的區別。

[ 代碼量 ]

我們知道代碼量顯示著功能的復雜程度,例如Windows XP的代碼量超過2000萬行,Linux內核有1500萬行(2012年)。然而代碼量和功能數量之間并非線性關系。

優秀的設計中,代碼量和功能數的關系是這樣的:

糟糕的設計中,代碼量和功能數的關系是這樣的:

優秀的系統往往會有優秀的結構設計:層次清晰、職責單一、模塊化,方便擴展或者復用。功能的添加往往只是在現有框架中添加少量代碼。

然而糟糕的設計中,層次混亂、互相耦合、難以閱讀,既難以復用又不易擴展。每當被要求添加功能時,不得不幾乎完整地實現整個功能的流程,并修復與原系統的所有兼容問題。

[ 注釋]

優秀的代碼中,注釋是這樣的:

糟糕的代碼中,注釋是這樣的:

最愚蠢的程序員都能寫出機器能讀懂的代碼,而優秀的程序員能寫出人可以讀懂的代碼。

程序的注釋是為了讓人讀得懂。多數優秀的代碼中,注釋幾乎接近代碼行數的一半,描述函數功能、解釋參數配置、指出陷阱所在。而糟糕的代碼中不僅不含這些注釋,甚至會保留大量殘余代碼,可讀性差又難以重構。

[ 命名]

優秀的代碼中,命名是這樣的:

糟糕的代碼中,命名是這樣的:

命名是為了讓代碼更加容易閱讀,使用規范的術語不僅更加易懂,同時也是開發者知識水平和開發經驗的表現。如果說以中文拼音命名顯得奇怪,那么直接以a, b, c, d命名的便會顯得可恨,誰記得你的a是神馬東西!

看一個經典的例子,字符串替換:

稍微有點Javascript常識的便會想到正則表達式:

何必拷貝這一堆的代碼給老板看呢?開發中確實有很多時候,直接拷貝代碼既能立竿見影地完成功能,又不會影響原有功能。但這樣的代碼多起來之后,萬一功能調整你便需要重新debug所有的副本。花一些時間學習更優雅的用法是值得的。

[ 函數 ]

保持函數的短小,使你的代碼更加易讀,例如:

將復雜的邏輯分步驟完成。如果寫在一起將會是這樣的:

相信我,一旦你寫了這樣的函數,它會隨著時間的推移變得越來越長,直到有一天,你也忘了其中的一段代碼到底是做什么的。

事實上,復雜的函數不僅可以按照步驟劃分,更應按照層次來細化。不要在一個函數中進行不同層次的操作,否則它會變得非常難懂。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68894
  • 程序員
    +關注

    關注

    4

    文章

    953

    瀏覽量

    29832

原文標題:沒有對比就沒有傷害,優秀的代碼VS糟糕的代碼

文章出處:【微信號:xx-cyy,微信公眾號:C語言編程基礎】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    GPIO如何只更新通知代碼而不是替換舊代碼嗎?

    大家好,當我嘗試更改 GPIO 通知時遇到問題,然后我按下“生成代碼”。但它取代了我的舊代碼告訴我如何只更新通知代碼而不是替換舊
    發表于 01-31 07:44

    參考代碼--俄羅斯游戲代碼

    使用C語言編程的參考代碼--俄羅斯游戲代碼
    發表于 05-20 17:01 ?14次下載

    的 Python 代碼優雅又地道

    vs NP (pythonic vs non-pythonic)的討論。pythonic的代碼簡練,明確,優雅,絕大部分時候執行效率高。閱讀pythonic的代碼
    的頭像 發表于 03-06 10:35 ?3656次閱讀

    如何編寫無法維護的代碼代碼沒有重構的風險

    自己弄個鐵飯碗,因為除了之外,沒人維護寫的代碼。再而且,如果練就秘籍中的全部招式,那么
    的頭像 發表于 04-29 19:11 ?2631次閱讀

    什么是低代碼

    傳統的軟件開發方式需要漫長的時間才能完成應用程序的開發工作,這容易造成應用程序開發任務的堆積。為了提高應用程序的開發速度,現在出現了一種低代碼開發平臺。知道什么是低代碼開發嗎?知道
    發表于 05-09 15:26 ?1990次閱讀

    垃圾代碼應該怎么寫

    在 GitHub 上有一個新項目,它描述了「最佳垃圾代碼」的十九條關鍵準則。從變量命名到注釋編寫。這些準則將指導寫出最亮眼的代碼。 為了保持與原 GitHub 項目一致的風格,下文
    的頭像 發表于 01-18 11:08 ?2031次閱讀

    TouchGFX代碼框架以及如何添加用戶代碼

    和View之間的橋梁,View負責顯示,Model負責交互,這三大類撐起了TouchGFX的天空,可以再里面任意翱翔。 清除了MVP結構后,對代碼
    的頭像 發表于 01-18 11:28 ?2712次閱讀
    TouchGFX<b class='flag-5'>代碼</b>框架以及如何添加用戶<b class='flag-5'>代碼</b>

    九個單片機仿真優秀案例及源代碼

    九個單片機仿真優秀案例及源代碼
    發表于 03-17 09:13 ?161次下載
    九個單片機仿真<b class='flag-5'>優秀</b>案例及源<b class='flag-5'>代碼</b>

    為什么有時候會寫出代碼

    本文的內容是最近我剛剛遇到的一個問題,問題代碼是我自己寫的,也是我自己寫單元測試的時候發現的,也是我自己修復的,修復完之后,我反思了一下:這樣的問題代碼,我實習的時候都寫不出來。 可是為什么我
    的頭像 發表于 08-27 10:23 ?1383次閱讀
    為什么有時候會寫出<b class='flag-5'>爛</b><b class='flag-5'>代碼</b>

    快速找到代碼運行最慢部分的編程神器

    天下武功,唯快不破。 編程也不例外,代碼跑的快,快速找出代碼慢的原因,的碼功就高。 今
    的頭像 發表于 10-13 16:40 ?1622次閱讀

    微軟最新寫代碼神器代碼之旅

    【導語】:CodeTour(代碼之旅)是微軟官方開發的 VS Code 擴展,允許記錄和回放代碼的演練和思路。 簡介 CodeTour 是一個 VS Code 插件,允許記錄和回放
    的頭像 發表于 10-26 10:00 ?1728次閱讀

    VS上配置MPI教程(含代碼

    VS上配置MPI教程(含代碼
    發表于 01-17 11:24 ?1次下載

    什么是整潔的代碼

    WTF/min是衡量代碼質量的唯一標準,Uncle Bob在書中稱糟糕代碼為沼澤(wading),這只突出了我們是糟糕代碼的受害者。國內有
    的頭像 發表于 01-30 10:45 ?551次閱讀

    靜態代碼塊、構造代碼塊、構造函數及普通代碼塊的執行順序

    在Java中,靜態代碼塊、構造代碼塊、構造函數、普通代碼塊的執行順序是一個筆試的考點,通過這篇文章希望大家徹底了解它們之間的執行順序。 1、靜態
    的頭像 發表于 10-09 15:40 ?1455次閱讀
    靜態<b class='flag-5'>代碼</b>塊、構造<b class='flag-5'>代碼</b>塊、構造函數及普通<b class='flag-5'>代碼</b>塊的執行順序

    vs中如何快速注釋多行代碼

    VS中,快速注釋多行代碼可以通過以下幾種方法實現。我將詳細介紹每種方法的步驟和應用場景。 方法一:塊注釋 塊注釋是一種常見的注釋多行代碼的方法。它適用于需要注釋大塊代碼的情況,可以方
    的頭像 發表于 11-22 10:26 ?1.7w次閱讀
    主站蜘蛛池模板: 美女露出逼 | 嫩草影院在线观看精品 | 鲁大师影院在线视频在线观看 | 亚洲熟女丰满多毛XXXXX | 亚洲精品资源网在线观看 | 亚洲精品成人无码A片在线 亚洲精品成人久久久影院 亚洲精品成人a在线观看 | 99pao成人国产永久免费视频 | 免费99精品国产自在现线 | 边摸边吃奶边做下面视频 | 无码中文字幕热热久久 | 校园纯肉H教室第一次 | 欧美日韩亚洲一区二区三区在线观看 | 俄罗斯爱爱 | 99精品免费久久久久久久久蜜桃 | 国产精品免费视频能看 | 久久国语精品 | 国产白丝精品爽爽久久久久久蜜臀 | 美女用手扒开粉嫩的屁股 | 嘟嘟嘟在线视频免费观看高清中文 | 热九九99香蕉精品品 | 亚欧日韩毛片在线看免费网站 | 偷拍国产精品在线播放 | 网友自拍成人在线视频 | 日本无码专区亚洲麻豆 | 亲胸揉胸膜下刺激视频网站APP | 99久久综合国产精品免费 | 国产精品亚洲电影久久成人影院 | 韩国演艺圈悲惨在线 | 色婷婷国产精品视频一区二区 | 91久久偷偷做嫩草影院免 | 人妻无码AV中文系统久久免费 | ppypp日本欧美一区二区 | 暖暖免费观看日本在线视频 | 美女露出逼| 亚洲欧美中文日韩视频 | 在线观看视频中文字幕 | 秋霞电影院兔费理论84MB | 国产精品免费大片一区二区 | 狠狠色狠狠色综合 | 麻豆精品人妻一区二区三区蜜桃 | 亚洲精品中文字幕在线 |