日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

编写好代码的10条戒律

發(fā)布時(shí)間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写好代码的10条戒律 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
編寫(xiě)好代碼的10條戒律

1.DRY:不要重復(fù)你自己(Don’t repeat yourself)

DRY是一條最容易理解但又是相對(duì)比較難以應(yīng)用的原則。它是指當(dāng)你在兩處或者更多的地方發(fā)現(xiàn)相似代碼時(shí),我們應(yīng)當(dāng)把它們抽象成一個(gè)新的函數(shù),在之前重復(fù)的地方調(diào)用新的函數(shù)并帶上適當(dāng)?shù)膮?shù)。

DRY也許是最普遍的一條編程原則,我從未發(fā)現(xiàn)一個(gè)開(kāi)發(fā)人員認(rèn)為編寫(xiě)重復(fù)的代碼是件好事。但是我發(fā)現(xiàn)一些開(kāi)發(fā)人員在編寫(xiě)單元測(cè)試時(shí)忘記了這條原則,例如:設(shè)想一下你改變了一個(gè)類的接口,之前已經(jīng)為這個(gè)類編寫(xiě)了很多的單元測(cè)試,如果你沒(méi)有應(yīng)用DRY原則,這時(shí)你需要手動(dòng)去修改所有使用這個(gè)類接口的調(diào)用,來(lái)與每一個(gè)測(cè)試實(shí)例的新簽名匹配。

2.編寫(xiě)短小的函數(shù)/方法

有三個(gè)非常好的理由,選擇編寫(xiě)短小的函數(shù)。

1.代碼會(huì)更容易閱讀。

2.代碼會(huì)更容易重用(短小的函數(shù)更容易產(chǎn)生松耦合)。

3.代碼會(huì)更易于測(cè)試。

編者注:松耦合:在軟件領(lǐng)域中,“耦合”一般指軟件組件之間的依賴程度。耦合度松的軟件會(huì)有較好的擴(kuò)展性。

3.給類、函數(shù)和變量使用好的命名

直接使用其他開(kāi)發(fā)者的代碼而不需要閱讀說(shuō)明文檔,沒(méi)有什么比這更好的事情了,因?yàn)榇a中的類名、函數(shù)名已經(jīng)能夠告訴我們所有需要的信息。所以,采用這種方法,每次在為你的代碼中任何元素進(jìn)行命名的之前請(qǐng)花上幾秒鐘(思考),這會(huì)讓大家的生活變得更輕松。

4.為每個(gè)類分配正確的職責(zé)

一個(gè)類只承擔(dān)一個(gè)職責(zé)(單一權(quán)責(zé)),聽(tīng)起來(lái)和有些人知道的SOLID原則很相似,但是這里不是指任意的職責(zé),而是正確的職責(zé)。所以,如果我們要設(shè)計(jì)一個(gè)顧客類,我們不會(huì)給它創(chuàng)建一個(gè)銷售的行為,我們只會(huì)讓它處理所有與一個(gè)客戶相關(guān)的數(shù)據(jù)。

編者注:SOLID:面向?qū)ο笤O(shè)計(jì)的五項(xiàng)原則(是SRP單一職責(zé)原則、OCP開(kāi)閉原則、LSP李式代換原則、ISP依賴反轉(zhuǎn)原則和 DIP接口分離原則,首字符的縮寫(xiě))。

5.保持代碼的條理性

代碼條理性分兩個(gè)層次

物理上的條理性:無(wú)論你采用了哪種結(jié)構(gòu),包、命名空間、文件夾等等,用一種更容易并且憑直覺(jué)就能找到代碼存放在哪里的方式來(lái)組織你編寫(xiě)的類。

邏輯上的條理性:不論邏輯上從屬關(guān)系如何,(只要有邏輯從屬關(guān)系)類都應(yīng)該能夠互相訪問(wèn)彼此的成員變量,但是如果從屬于不同的邏輯結(jié)構(gòu)就應(yīng)當(dāng)只能通過(guò)接口來(lái)訪問(wèn)。這種邏輯分組通常會(huì)被實(shí)現(xiàn)成(邏輯)層、服務(wù)等。

6.編寫(xiě)很多的單元測(cè)試

測(cè)試越多越好,它們是所有代碼變動(dòng)的安全保證,我們會(huì)在將來(lái)的某一天需要運(yùn)行這些測(cè)試代碼。

7.盡早且經(jīng)常地重構(gòu)代碼(Refactor often and sooner)

軟件開(kāi)發(fā)是一個(gè)持續(xù)發(fā)現(xiàn)的過(guò)程,為了編寫(xiě)保持與新增/改變的需求匹配的高質(zhì)量代碼,隨著開(kāi)發(fā)的進(jìn)行,重構(gòu)代碼是必不可少的。由于重構(gòu)是一項(xiàng)帶有風(fēng)險(xiǎn)的任務(wù),需要有兩個(gè)主要的前提條件,來(lái)避免由于重構(gòu)給系統(tǒng)引入新的錯(cuò)誤。

1.編寫(xiě)很多的單元測(cè)試

2.每一次重構(gòu)的幅度要比較小。在開(kāi)發(fā)軟件過(guò)程中,開(kāi)始重構(gòu)2000行代碼,3個(gè)小時(shí)以后發(fā)現(xiàn)所有的代碼都不能工作,并且導(dǎo)致問(wèn)題的原因無(wú)從查找,因此需要恢復(fù)到最初版本,幾乎沒(méi)什么事能比這更讓人抓狂了。

8.注釋是惡魔

這條特殊戒律有一點(diǎn)爭(zhēng)議,我們大多數(shù)人學(xué)到的是“注釋是一個(gè)好的習(xí)慣”,并且在一段晦澀的代碼中有一段注釋會(huì)比僅僅只有代碼好的多,這里我的觀點(diǎn)是:給晦澀的代碼加注釋還不如僅僅留下代碼,只需要重構(gòu)這段代碼直到它變得可讀為止。(編注:當(dāng)然了,除了作者說(shuō)的這種類型的代碼,在其他情況下,還是得添加必要的注釋,這不僅方便自己日后查看,更有利于后來(lái)者維護(hù),請(qǐng)參閱《提高代碼可讀性的10個(gè)注釋技巧?》一文。

9.要面向接口編程,不要面向?qū)崿F(xiàn)編程(Code to an interface, not to an implementation)

這是一條經(jīng)典的原則,面向接口編程會(huì)讓我們從實(shí)現(xiàn)的細(xì)節(jié)中解放出來(lái),我們只要定義一個(gè)協(xié)議,并且依據(jù)協(xié)議調(diào)用定義的操作,期望(對(duì)方,即被調(diào)用的代碼)能把實(shí)際的實(shí)現(xiàn)或者運(yùn)行時(shí)態(tài)的實(shí)現(xiàn)傳遞給我們的代碼。

10.對(duì)代碼進(jìn)行復(fù)查

我們都會(huì)犯錯(cuò)誤,沒(méi)有什么能比請(qǐng)別人對(duì)我們代碼做一個(gè)非正式快速?gòu)?fù)查更好的辦法來(lái)查找錯(cuò)誤了。最好不要等到代碼都完成以后再?gòu)?fù)查,當(dāng)某些重要部分的代碼完成后,或者離上一次復(fù)查相隔幾天之后,就進(jìn)行復(fù)查。

總結(jié)

以上是生活随笔為你收集整理的编写好代码的10条戒律的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 艳妇乳肉豪妇荡乳xxx | 巨乳动漫美女 | 久久免费视频网站 | 日日夜夜免费精品视频 | 一区二视频 | 无码人妻精品一区二区三区不卡 | 妺妺窝人体色www在线小说 | 在线se | 亚洲国产123 | 欧美成人精品一区二区男人看 | 香蕉视频在线看 | 国产免费久久精品国产传媒 | 99国产精品视频免费观看一公开 | 日韩在线精品 | 精品欧美一区二区久久久 | 在线不卡的av | 在线天堂中文在线资源网 | 视频在线观看一区二区三区 | 日韩国产91| 天堂国产一区二区三区 | 99热久久这里只有精品 | 色爱av| 日韩黄色影视 | 精品久久久久久久久久久久久 | 高清一二三区 | 亚洲乱码国产乱码精品天美传媒 | 亚洲精品无人区 | 日韩xxxxxxxxx | 亚洲AV无码乱码国产精品牛牛 | 亚洲欧美一区二区三区在线观看 | 直接看av的网站 | 欧美一区在线观看视频 | 色四月| 午夜视频福利网站 | 日本69视频 | 久久久美女视频 | 狠狠干天天爱 | 亚洲综合色在线观看 | 波多野结衣网站 | 波多野结衣在线观看一区二区三区 | 国产人妻黑人一区二区三区 | 老妇女性较大毛片 | 日本免费一区二区三区四区 | 免费av不卡 | 久久久精品人妻一区二区三区四 | 精品欧美一区二区久久久 | 91国产视频在线播放 | 国产精品黄色片 | 日韩一卡二卡三卡 | 国产精品国产自产拍高清av | 国产富婆一区二区三区 | 欧美成人小视频 | 日韩在线视频免费观看 | 亚洲一区中文字幕永久在线 | 亚洲欧美日韩国产一区二区三区 | 色五婷婷 | 日韩午夜片| 成年人免费在线视频 | a级黄色小说 | 青青草97国产精品麻豆 | 日本xxxx免费| 国内外免费激情视频 | 欧美国产视频一区 | 国产99久久久国产精品免费看 | 日韩中文字幕电影 | 精品黄色av| 中文字幕777 | 国产精品99精品无码视亚 | 亚洲视频手机在线观看 | 精品九九久久 | 日本中文字幕在线视频 | 俺也去在线视频 | 国产精成人品 | 韩国短剧在线观看 | 福利资源导航 | 91丨国产丨捆绑调教 | 大陆女明星乱淫合集 | 正在播放老肥熟妇露脸 | av在线免费观看网站 | 精品三级国产 | 黑人巨大精品欧美 | 色一情一区二区三区四区 | 超碰老司机 | 国产手机av| 开心色99| av美女在线| 欧美在线视频你懂的 | 嫩模被强到高潮呻吟不断 | 超碰下载页面 | 一二三不卡 | 日本免费黄色 | 国产97色在线 | 日韩 | 亚洲综合网址 | 麻豆av一区二区三区久久 | 国产在线97 | 成人久久久 | 国产又大又粗又爽 | 国产一区综合 | 亚洲午夜激情视频 |