网站建设|天天操天天拍|营销型网站|天天操天天看|独立站搭建|天天操天天干天天爽|外贸网站建设|wordpress独立站|小程序开发-?无双建站?

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家,一站式網站建設及推廣營銷解決方案提供商。
我們的價值觀:誠信、坦誠、盡責、創新。期待與您合作!

您好,很高興為您服務 ^_^
主站蜘蛛池模板: 机械配件加工_数控车床加工_零件加工_精密件加工_cnc加工定制—深圳精密机械加工 | 全自动沾锡机|端子机|剥线机|昆山市博科鑫源电子设备有限公司 | 无锡泡沫包装生产厂家-江阴源欧包装材料有限公司 | 液体粉末包装机_颗粒粉剂自动包装机-上海巧慈自动化设备有限公司 | 长葛市金葛机械制造有限公司 | 绝缘纸板-3240环氧板-酚醛布板-FR4环氧板-沈阳友达绝缘材料有限公司 | 九江监控安装_九江安防监控_九江弱电工程公司-九江百信科技有限公司 | 双合金_注塑机_螺杆|炮筒|料管|料筒-广东海驰德塑胶机械有限公司 | 压力机-压装机-黄油机-黄油泵-[广东品嘉灵]专业定制各种精密压装设备 | 行星式球磨机-实验室球磨仪[东方天净]小型高能研磨筛分仪直销厂家 | 萍乡市耀天化工有限公司| 泊头市特种油泵阀制造有限公司 - 渣油泵,重油泵,沥青泵,高压齿轮泵,煤焦油泵,导热油泵,三螺杆泵,圆弧齿轮泵,不锈钢齿轮泵, | 艺术网 - 大型艺术类权威门户站 艺考培训-中影人教育 【官网】-中国艺考教育的引航者 | 上进电缆(嘉兴)股份有限公司官网 - 光伏电缆|防火电缆|电力电缆|铝合金电缆专业生产厂家 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 上海鑫迪机械有限公司 上海科蜀智能机械有限公司 | 亿企商贸-亿万企业的商务贸易平台-B2B企业产品发布供求信息平台,一带一路中国企业及产品展示平台,免费企业智能自助建站网络营销推广平台,打造B2B企业黄页产品信息发布推广专业综合电子商务平台! | 密集架,密集柜,智能密集架,档案密集架,智慧档案馆(室)一体化建设 | 钻床,数控钻床,摇臂钻床,立式钻床_滕州市高地机床有限公司 | 郑州试驾场地_双超专业汽车试驾场地_郑州双超文化传播有限公司官方网站 | 快速卷帘门-电动卷帘门-快速堆积门-快速门厂家-任丘市康速机电设备有限公司 | 山东日兴新材料股份有限公司 | 图观 - 数字孪生 应用开发引擎 | 三维可视化 | 长春互联网运营值选星广传媒,长春短视频运营,长春新媒体运营,长春互联网运营,长春抖音运营,吉林视频号代运营,吉林快手代运营,短视频推广公司,公众号运营,微博运营,新媒体运营 | 主营:回收各类废旧物资,上海巨合物资回收有限公司官方网站 | 液压扳手-液压扭力扳手-电动扭矩扳手-气动扭力扳手-波霆机械(上海) | 烘干机_回转窑_破碎机_制砂机_洗砂机_球磨机-瑞光金属制品 | 首页-南德电气集团-电能质量产品解决方案|能源数字化系统解决方案|新能源检测评估服务|电力/光伏/储能EPC工程总承包 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 增压泵-离心泵-管道泵-排污泵-上海渤泉泵业制造有限公司 【官方网站】 | 数控钢筋弯箍机_数控钢筋弯曲中心_数控钢筋笼滚焊机厂家_山东佳信 | 品润财税_广州公司注册_南沙代理记账服务_危化证出口退税外国人工作签证代办 | 郑州空调维修_郑州中央空调维修_空调清洗维保-郑州大晟机电设备安装工程有限公司 | 诸城市瑞特机械有限公司_洗筐机,周转箱,托盘清洗机,风淋室 | 微型直流减速电机-直流永磁电机-直流永磁电机厂家-微型直流减速电机定制-东莞市鑫辉传动科技有限公司 - 鑫辉传动科技 | 西安西玛电机销售,西安西玛电机有限公司(原泰富西玛西安电机厂) 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 西安网站建设,西安网站设计制作,西安短视频拍摄_短视频运营就选动力无限网络推广公司 | 山东汇河环保科技集团有限公司,水囊水袋,水罐,油囊,预压水袋,吊重水袋_山东汇河环保科技集团有限公司,水囊水袋,水罐,油囊,预压水袋,吊重水袋 | 徐州恒铭机械设备有限公司_装载机配件_压路机配件_起重机配件_挖掘机配件_配件_徐州恒铭机械设备有限公司 | 山东万通液压股份有限公司-自卸车专用油缸,能源采掘设备油缸,机械装备用油缸,油气弹簧,工程机械油缸,液压元件 | 上海森信实验仪器有限公司| 气体检测仪_气体传感器_可燃气体检测仪-精讯畅通电子科技 |