国产1级片-国产1级毛片-国产18在线-国产1-日韩欧美偷拍-日韩欧美天堂

Menu

什么樣的代碼叫好代碼?

網站建設 錄入時間 2022-03-01 閱讀次數 無雙建站

編程界有句名言:“計算機程序是寫給人看的,只是順帶計算機可以執行”。程序易讀,沒有花架子、沒有不必要的提前優化,這是通用的原則。

但是在工程實踐上,什么是好的代碼,取決于代碼滿足要的需求的領域。

一段好的代碼,最少要遵守基本的編程規范,比如命名方式,注視等等,就拿變量名來說,必須讓人通過字面意思大概能知道這個變量是做什么的,代表什么意思,閱讀性要好,否則其他人看到代碼跟看天書一樣,完全不知道是在做什么。同樣的,方法命名也是一個道理。

以下圖舉例來說,兩個方法都是檢查用戶名與密碼是否為空,但是個方法明顯規范于第二個方法,變量名就是賬號與密碼的英文單詞,一看就明白,而第二個方法以a,b,c來命名,沒人知道是啥意思,這種代碼是最差的。

1e06f00018b2fd52627da.jpg

下圖是一段摘自我個人項目的 C 語言代碼(業余時間寫作,非公司資產),可以看到用到了各種教科書都極力反對的 goto 語句,但實際上,如果是 C 語言比較熟練的話,使用 goto 語句可以大大簡化函數返回時的清理代碼,達到類似 C++ 語言 RAII 的效果。

59121f756695401eab074ceb6962387f.jpg

再舉個例子來說,當你的工作是實現一個被廣泛調用的庫函數,比如 C 語言 malloc 這樣的內存分配函數,那么,速度和內存使用效率就是就是更大的需求,函數實現可以使用各種丑陋的優化技巧甚至內嵌匯編等等,但只要滿足基本需求,這些破壞基本可讀性原則的手段就不會影響你的代碼成為一段好的代碼。

在滿足需求的前提下,我認為好的代碼還符合以下特征:

  1. 簡單性:能用簡單實現的方法就不要用復雜的方法,越簡單的代碼越容易維護;

  2. 可讀性:無論是作者還是他人,都能很容易通過閱讀代碼了解到代碼實現的功能,且代碼的編寫沒有違反常理的地方;

  3. 分層與模塊化:從架構的層面讓代碼易于理解與修改;

  4. 優雅與簡潔:代碼在滿足功能需求的情況下盡量采用成熟的算法與邏輯,舉個例子,計算從 1 加到 100 的總和,優雅簡潔的方法是使用等差數列公式求和而不是用循環累加;

  5. 效率:一般來說符合上面4條的代碼效率不會差,但也應把效率問題牢記在心,比如寫 Java 程序,如果遇到多次字符串相加的情況,隨時記得用 StringBuilder 來替換簡單的字符串連接。

代碼的本質還要在機器上運行,好的代碼不單單的純粹的簡單的幾個字符的問題,好的代碼不僅僅是排版上或者語法上好看,還要能經過產品的測試驗證,這是評判代碼好壞的最準確的標準。

【版權聲明】:本站內容來自于與互聯網(注明原創稿件除外),供訪客免費學習需要。如文章或圖像侵犯到您的權益,請及時告知,我們第一時間刪除處理!謝謝!

無雙科技
如何獲取外貿詢盤和訂單?
網站建設咨詢:13534259410

經典客戶案例展示

熱門服務
眾多企業的選擇

深圳無雙科技 - 專注于高端網站建設、網站設計開發、品牌網站制作

咨詢電話:13534259410

售后服務:13534259410  (7×24小時)
在線 Q Q:253849310 (售前咨詢)

深圳網站建設咨詢
【掃一掃咨詢】
  • 掃一掃 在線咨詢
    無雙科技官方公眾號
  • 響應式客戶端
    掃一掃 關注好友
體驗創新服務

深圳無雙科技,專注于深圳網站建設、深圳網站設計、深圳網站制作。
服務客戶超3000家,一站式網站建設及推廣營銷解決方案提供商。
我們的價值觀:誠信、坦誠、盡責、創新。期待與您合作!

您好,很高興為您服務 ^_^
主站蜘蛛池模板: 啊好舒服快点| 四个房间电影| 韩宝仪个人简历| 烟草二维码识别扫描器| 法医秦明1至6部顺序| 一路向东电影| 无锡电视台| 爱在记忆中找你歌词| 杰克逊·拉斯波恩| 蔡欣洋| 美辰之屋| 誓不忘情 电影| 成人免费视频视频| 人流后吃什么| 母女大战| 哈尔的移动城堡免费完整版| 林冲夜奔| 冷门森系ins冷淡风壁纸| 张柏芝照片| 康熙王朝多少集| 一年又一年电视剧演员表| 张天爱三级露全乳hd电影| 印度超人3| 春娇与志明电影| 嫂子的职业韩| 天机太阴在命宫| 老版《桃太郎》| 昭君出塞简谱| 关德兴| 陷入纯情| 泪桥简谱| 好看电影网站免费看| 日韩成人av电影77777| 詹姆斯怀特| 郑艳丽三级| 我的冠军男友在线看全集完整| 斯维特拜克之歌| dj舞曲超劲爆dj| 拉雅| 永恒传说图文详细攻略| 林美娇最惊艳的十部电影|