亚洲男人天堂av,国产一区二区久久精品,国产精品一区二区久久精品,国产精品久久久久久一区二区三区,五月婷婷在线观看视频,亚洲狠狠色丁香婷婷综合

歡迎您訪(fǎng)問(wèn)開(kāi)發(fā)設(shè)計(jì)中常用原則之 DRY:不要重復(fù)自己的工作!

開(kāi)發(fā)設(shè)計(jì)中常用原則之 DRY:不要重復(fù)自己的工作

更新時(shí)間:2024-07-28 20:44:06作者:佚名

干燥

這里的DRY是Do Not Repeat Yourself的縮寫(xiě),詳細(xì)解釋可以參考Every piece of knowledge must have a single, unambiguous, authority at a system這個(gè)嚴(yán)謹(jǐn)?shù)亩x,也就是說(shuō)任何知識(shí)在系統(tǒng)內(nèi)都必須只有一個(gè)單一的、明確的、權(quán)威的表述。???這是什么意思?沒(méi)看懂。簡(jiǎn)單來(lái)說(shuō)就是不要重復(fù)你工作的任何一部分。比如有一段代碼是用來(lái)清除字符串中的HTML符號(hào)的,這個(gè)函數(shù)會(huì)在多個(gè)程序中用到,如果在每一處都用到下面的代碼

html = html.replaceAll("\<.*?>","") 
html = html.replaceAll(" ","");
html = html.replaceAll("&"."");

如果只是在 2、3 處用到(Martin 曾經(jīng)提到過(guò) Rule of three,意思是如果一段代碼被復(fù)制了 3 次以上,就應(yīng)該重構(gòu)為單獨(dú)的子方法)authoritative是什么意思,你可能直接復(fù)制過(guò)來(lái)用就行,但是想想看,如果在 2、3 百處用到會(huì)怎么樣?如果上面又需要修改(如下圖)網(wǎng)校頭條,你是不是也要在這 2、3 百處修改代碼呢?

html = html.replaceAll("<"."<");
html = html.replaceAll(">".">");

因此,DRY 規(guī)則建議使用子方法,這樣您只需修改一次。類(lèi)似的編程思想包括 DIE(Duplication is Evil)、SPoT(Single Point of Truth)、SSOT(Singel Source of Truth)。順便說(shuō)一句,DRY 的對(duì)應(yīng)詞是 WET,意思是“把所有東西都寫(xiě)兩遍”或“我們喜歡打字”。:-)。

KISS 是 Keep it simple, stupid(或 Keep it short and simple)的縮寫(xiě),意思是保持設(shè)計(jì)簡(jiǎn)潔、通俗,這跟現(xiàn)在流行的“極簡(jiǎn)主義風(fēng)格”很像。

authoritative是什么意思_意思是不是輕聲詞_意思是誰(shuí)發(fā)現(xiàn)的

使用 KISS 有什么好處?以下是其中一些:

在軟件設(shè)計(jì)領(lǐng)域,有一些技術(shù)實(shí)現(xiàn)了這個(gè)本質(zhì),比如 DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))和 TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā)),將代碼集中在真正需要的功能上,不做任何額外的工作。另一個(gè)建議是不要試圖通過(guò)注釋來(lái)提高代碼的可讀性,而是從代碼本身開(kāi)始改進(jìn)。例如,下面是一個(gè)不太好的變量定義

// i is for 'counter' and j means total sum
int i, j;

以下是一個(gè)好的設(shè)計(jì)

// more intuitive oneint counter,sum;

與此相呼應(yīng)的是奧卡姆剃刀原理或簡(jiǎn)單定律:

authoritative是什么意思_意思是誰(shuí)發(fā)現(xiàn)的_意思是不是輕聲詞

奧卡姆剃刀

最簡(jiǎn)單的(解釋|解決方案)通常是最好的。

通常最簡(jiǎn)單的解決方案就是最好的解決方案

具體對(duì)于 Java 編程,這里有一些練習(xí) KISS 的建議:

新澤西風(fēng)格(越差越好)

新澤西風(fēng)格,又稱(chēng)“更糟糕的是更好的”。該原則指出,系統(tǒng)的質(zhì)量不會(huì)隨著新功能的增加而提高。例如,一個(gè)只提供少量功能但用戶(hù)容易使用的軟件可能比一些提供大量令人眼花繚亂功能的“大雜燴”軟件更好。例如Linux下的vi/vim,瀏覽器中的Chrome。

意思是誰(shuí)發(fā)現(xiàn)的_authoritative是什么意思_意思是不是輕聲詞

堅(jiān)硬的

SOLID 是幾種編程哲學(xué)的統(tǒng)稱(chēng),即 SOLID(單一職責(zé),開(kāi)放封閉,里氏替換,接口隔離和依賴(lài)倒置)。我們來(lái)一一解釋一下:

單一職責(zé)(SRP)

單一職責(zé)原則。Robert 將其描述為“一個(gè)類(lèi)應(yīng)該只有一個(gè)改變的理由”,即有(且只能有)一個(gè)理由來(lái)修改一個(gè)類(lèi)(或模塊)。簡(jiǎn)單地說(shuō),一個(gè)類(lèi)或模塊只能負(fù)責(zé)一個(gè)功能。例如,有一個(gè)模塊負(fù)責(zé)生成報(bào)告。可以想象,修改這個(gè)模塊可能有兩個(gè)理由,一是需要改變報(bào)告的內(nèi)容,二是需要改變報(bào)告的格式。這兩個(gè)改變是由于不同的原因,一個(gè)是為了美化內(nèi)容的布局。“單一職責(zé)”規(guī)則認(rèn)為authoritative是什么意思,這是兩個(gè)不同的職責(zé),所以應(yīng)該分成兩個(gè)不同的子模塊。如果把兩個(gè)東西放在一起,不同的改變是由于不同的原因,這種設(shè)計(jì)就不好。這個(gè)規(guī)則有利于系統(tǒng)中模塊的解耦。

開(kāi)放/封閉原則(OCP)

開(kāi)放-封閉原則。Bertrand 將其描述為“軟件實(shí)體(類(lèi)、模塊、函數(shù)等)應(yīng)該對(duì)擴(kuò)展開(kāi)放,但對(duì)修改封閉”,這意味著對(duì)于一個(gè)實(shí)體(類(lèi)、模塊、方法等)來(lái)說(shuō),它的功能行為允許在不修改源代碼的情況下進(jìn)行擴(kuò)展。換句話(huà)說(shuō),你可以把新代碼放入一個(gè)新的類(lèi)或方法中,而新類(lèi)通過(guò)繼承重用現(xiàn)有的代碼和函數(shù)。只有在修復(fù) bug 時(shí)才會(huì)修改現(xiàn)有的代碼。這個(gè)原則主要用于減少添加新功能時(shí)引入新 bug 的風(fēng)險(xiǎn)。

authoritative是什么意思_意思是誰(shuí)發(fā)現(xiàn)的_意思是不是輕聲詞

里氏替換原則 (LSP)

里氏替換原則。原文是“派生類(lèi)必須可替換其基類(lèi)。”,意思是派生類(lèi)(子類(lèi))對(duì)象可以用來(lái)替換其基類(lèi)(超類(lèi))對(duì)象。比如說(shuō),假設(shè)S是T的子類(lèi),那么T類(lèi)的任何一個(gè)具體實(shí)現(xiàn)對(duì)象都可以替換掉S的實(shí)現(xiàn)對(duì)象出現(xiàn)的地方,而具體調(diào)用者并不知道是父類(lèi)還是子類(lèi),也不會(huì)出現(xiàn)錯(cuò)誤。比如下圖中,調(diào)用者可以將1替換成2。

接口隔離原則(ISP)

接口隔離。原文是多個(gè)客戶(hù)端專(zhuān)用接口優(yōu)于一個(gè)通用接口。意思是多個(gè)專(zhuān)用的客戶(hù)端接口比一個(gè)用途廣泛的接口要好。將接口做細(xì)粒度,使之專(zhuān)用于客戶(hù)端。應(yīng)該定義一系列粒度合適的接口(如下圖所示),讓每個(gè)客戶(hù)都能實(shí)現(xiàn)特定的功能請(qǐng)求。換句話(huà)說(shuō),客戶(hù)端不應(yīng)該依賴(lài)于它不使用的功能方法。這個(gè)原則的目的是將系統(tǒng)解耦,以便于重構(gòu)、更改和重新部署。

依賴(lài)倒置原則 (DIP)

依賴(lài)倒置原則。原文是“Depend upon Abstractions. Do not depend upon concretions”。意思是方法應(yīng)該遵循“依賴(lài)于抽象,而不是依賴(lài)于實(shí)例”。這個(gè)原則規(guī)定:

意思是不是輕聲詞_authoritative是什么意思_意思是誰(shuí)發(fā)現(xiàn)的

高級(jí)模塊不應(yīng)該依賴(lài)于低級(jí)模塊,兩者都應(yīng)該依賴(lài)于抽象接口。

抽象接口不應(yīng)該依賴(lài)于具體實(shí)現(xiàn)。具體實(shí)現(xiàn)應(yīng)該依賴(lài)于抽象接口。

這個(gè)很像設(shè)計(jì)模式里的Adaptor模式。

下圖解釋了這一原理。

圖1中,高級(jí)對(duì)象A依賴(lài)于底層對(duì)象B的實(shí)現(xiàn);圖2中,高級(jí)對(duì)象A對(duì)底層對(duì)象的需求被抽象成一個(gè)接口A,底層對(duì)象B實(shí)現(xiàn)了接口A,這就是依賴(lài)反轉(zhuǎn)。

系統(tǒng)性紅斑

關(guān)注點(diǎn)分離是處理復(fù)雜性的一個(gè)原則。由于關(guān)注點(diǎn)混合在一起會(huì)大大增加復(fù)雜性,因此能夠?qū)⒉煌年P(guān)注點(diǎn)分離并分別處理是處理復(fù)雜性的一個(gè)原則和方法。這和 SOLID 中的 SRP 非常相似。

楊吉

它是“You aren't gonna need it”的縮寫(xiě),字面意思是“你以后不會(huì)需要它”。這是極限編程中的一個(gè)編程思想。意思是你永遠(yuǎn)不要因?yàn)轭A(yù)期會(huì)用到某個(gè)功能就去寫(xiě)一段代碼來(lái)實(shí)現(xiàn)它。只有當(dāng)出現(xiàn)問(wèn)題并且你確實(shí)需要這個(gè)功能時(shí),你才應(yīng)該寫(xiě)它。

為您推薦

什么是自由教育:陳克艱老師的譯作,帶來(lái)深刻啟發(fā)與思考

譯按:《什么是自由教育?不管這里還可能隱含什么結(jié)論,肯定隱含的一個(gè)結(jié)論是:自由教育不能是簡(jiǎn)單的教導(dǎo)。“自由教育是在文化里的教育。把自己限制在西方文化上,我們豈不是判定自由教育是一種地方主義(parochialism)?我們聽(tīng)過(guò)柏拉圖的建議:教育在最高義上是哲學(xué)。

2024-07-28 20:57

be attached to 的意思、用法及例句解析

to的意思是:附屬于,喜愛(ài);愛(ài)慕1、一般來(lái)說(shuō),attach后習(xí)慣接to,而不接介詞with。to...(發(fā)票附在……上),這種用法在商業(yè)信函中比較常見(jiàn)。with...。4、attach可以用在一般現(xiàn)在時(shí)、一般過(guò)去時(shí)、將來(lái)時(shí)、完成時(shí)、進(jìn)行時(shí)(當(dāng)attach用作不及物動(dòng)詞時(shí),罕用進(jìn)行時(shí))中。

2024-07-28 20:35

2021 年 12 月英語(yǔ)六級(jí)語(yǔ)法:first 與 at first 的用法區(qū)別匯總

2021年12月英語(yǔ)六級(jí)語(yǔ)法用法匯總first的用法區(qū)別之類(lèi)的詞。先想后說(shuō)。等詞語(yǔ)相呼應(yīng)。()起初這活兒很累,不過(guò)后來(lái)我習(xí)慣了。起初他們生活得很幸福,但后來(lái)就開(kāi)始出問(wèn)題了。last不是一對(duì)反義詞組,后者的意思是“終于”“最終”。她最后把一切準(zhǔn)備好了。最后公共汽車(chē)來(lái)了,我已等了半小時(shí)。

2024-07-28 11:49

2024 年除夕高速免費(fèi)嗎?免費(fèi)時(shí)段起止時(shí)間及車(chē)輛類(lèi)型公布

2024年除夕高速免費(fèi)嗎2024年春節(jié)假期小型客車(chē)2024年春節(jié)假期小型客車(chē)免費(fèi)通行時(shí)段起止時(shí)間為:2月9日(除夕)00:00—2月17日(正月初八)24:00,共計(jì)9天。免費(fèi)時(shí)間怎么算?春節(jié)加班費(fèi)是哪三天春節(jié)加班費(fèi)三倍工資是在春節(jié)期間的農(nóng)歷正月初一、初二、初三加班可以獲得三倍工資。

2024-07-28 10:16

2023年河北省城鄉(xiāng)建設(shè)學(xué)校錄取分?jǐn)?shù)線(xiàn)

復(fù)試分?jǐn)?shù)線(xiàn)、以及錄取人數(shù)①環(huán)境藝術(shù)設(shè)計(jì)(學(xué)碩):復(fù)試最低分366分、第一志愿錄取人數(shù)1人②環(huán)境藝術(shù)設(shè)計(jì)(專(zhuān)碩):復(fù)試最低分368分、第一志愿錄取人數(shù)24人①環(huán)境藝術(shù)設(shè)計(jì)(學(xué)碩):復(fù)試最低分376分、第一志愿錄取人數(shù)0人②環(huán)境藝術(shù)設(shè)計(jì)(專(zhuān)碩):復(fù)試最低分365分、第一志愿錄取人數(shù)20人

2024-07-28 10:05

熟詞偏義:I ask you 可不是我問(wèn)你,那是什么意思?

“熟詞偏義”是英語(yǔ)中常見(jiàn)的情況,看似每個(gè)單詞都認(rèn)識(shí),連在一起就不知道是什么意思。you就翻譯成“我問(wèn)你”,真的不是!you真正的意思是:用來(lái)強(qiáng)調(diào)你有多么看不慣或者不贊成某個(gè)事物。或者說(shuō):這叫什么事啊!下面來(lái)考考大家,看看你能答對(duì)多少~本期答案就在下面公布,看看你是否全部答對(duì)呢?

2024-07-27 17:35

加載中...
主站蜘蛛池模板: 亚洲精品成人网 | 伊人久久精品 | 免费国产综合视频在线看 | 久久久久久久男人的天堂 | 国产在线视频99 | 视频国产在线 | 亚洲国产成人久久一区二区三区 | 久久国产精品99久久小说 | 久久国产精品高清一区二区三区 | 男女视频网站 | 午夜性福利视频 | 激情五月婷婷小说 | 羞羞羞网站| 亚欧人成精品免费观看 | 午夜在线免费视频 | 婷婷四房综合激情五月在线 | 一级视频免费在线观看 | 在线观看网址入口2020国产 | 伊人网综合在线观看 | 一区二区三区免费观看 | 国产精品视频免费的 | 国内精品久久久久久不卡影院 | 波多野结衣手机在线观看 | 这里只有精品视频在线 | 国产精品久久一区二区三区 | 丁香花在线视频 | 亚洲国产午夜看片 | 开心色99| 男人手机天堂 | 日本精品久久久一区二区三区 | 久久精品免费观看 | 欧美专区亚洲 | 羞羞视频免费观看网站 | 国产精品成人四虎免费视频 | 午夜在线视频免费观看 | 亚洲精品亚洲人成在线麻豆 | 男人午夜天堂 | 中文国产成人精品久久久 | 日本欧美在线观看 | 亚洲精品成人av在线 | 久久综合精品国产一区二区三区无 |