日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻精品一区二区三区蜜桃91 | 婷婷综合av | 亚洲精品www久久久久久广东 | 欧美日韩一区二区在线 | 一区二区中文字幕在线观看 | 亚洲三级国产 | 国产乱色 | 成人高潮视频 | 国产黄色三级网站 | 91视频地址 | 久久久综合久久 | 欧美一级淫片 | 日韩伦理一区二区 | 波多野结衣av在线免费观看 | 日本一区二区免费看 | 欧美在线亚洲 | 成人av影视在线观看 | 亚洲av无码专区在线 | 天天爽影院 | 亚洲女人18毛片水真多 | 色婷婷小说 | 五月婷婷激情视频 | 国产精品偷乱一区二区三区 | 免费毛片小视频 | 精品视频久久久久久久 | 免费特级毛片 | 一区二区三区不卡视频在线观看 | 日韩av图片 | 日本三级免费看 | 成年人黄色大全 | 欧美欧美欧美 | 日韩精品视频一区二区三区 | wwww日本60| 黄色大片毛片 | 亚州福利| 精品无码人妻少妇久久久久久 | 国产精品第100页 | 色视频一区 | 欧美日韩一区二区三区在线电影 | 亚洲欧美日本国产 | 黄色一级欧美 | 日韩在线播放中文字幕 | 国产xx视频 | 久操视频在线免费观看 | 人人干人 | 翔田千里在线播放 | 亚洲视频播放 | 国产精品视频久久 | 在线观看免费视频国产 | 亚洲精品天堂网 | 国产一级二级在线 | 福利片一区二区 | 可以看的av网址 | 在线看黄色网 | 少妇xxx | 国产精品666 | 97在线视频人妻无码 | 日韩免费网| 97中文字幕在线观看 | 青青青草视频在线观看 | 性歌舞团一区二区三区视频 | h亚洲| 国产精品一国产精品 | 大象传媒成人在线观看 | 久久香焦 | 亚洲手机在线 | 午夜嘿嘿 | 国产一区二区网站 | 黄色一级大片在线免费看国产一 | 欧美性爱视频久久 | 日韩日b| av资源新版在线天堂 | 国产一级二级视频 | 娇妻玩4p被三个男人伺候电影 | 亚洲人做受 | 国产一区二区三区在线免费 | 国产精品无码电影在线观看 | 国产欧美精品 | 亚洲精品乱码久久久久久蜜桃不卡 | www.香蕉视频在线观看 | 韩国视频一区二区三区 | 婷婷成人综合网 | 亚洲s码欧洲m码国产av | 91蜜臀精品国产自偷在线 | 久久艳片www.17c.com | 国产精品乱子伦 | 日韩插插 | 久久久五月天 | 黄色片日韩 | 精品国产伦一区二区三区免费 | 青青草原国产在线观看 | 99热热| 精品www久久久久久奶水 | 伊人精品久久 | 欧美成人黄色小视频 | 国产一级片在线播放 | 国产成人无码精品久久久性色 | 日本不卡一区视频 | 国产睡熟迷奷系列精品视频 |