統(tǒng)治軟件開發(fā)的著名定律,讓你無處可逃!










后記:其實(shí)類似上文的定律很多,比如80/20原則:代碼中80%的錯(cuò)誤都是由代碼中的20%引起的。另外,公司80%的工作是由20%的員工完成的,問題是你并不總是清楚誰是那20%;再比如著名的康威定律:軟件的任何一部分都反應(yīng)了創(chuàng)建它的組織結(jié)構(gòu)。許多組織都根據(jù)他們的技能來劃分團(tuán)隊(duì)。因此會(huì)有前端開發(fā)、后端開發(fā)和數(shù)據(jù)庫開發(fā)組成的團(tuán)隊(duì),這會(huì)導(dǎo)致某人想要修改一個(gè)不屬于自己領(lǐng)域的東西會(huì)很難。最好是按照有邊界的上下文(bounded context)來規(guī)劃團(tuán)隊(duì),像微服務(wù)這樣的架構(gòu)就是圍繞服務(wù)邊界而不是孤立的技術(shù)體系劃分來組織他們的團(tuán)隊(duì)。還有伯斯塔爾定律(Postel's Law):發(fā)送時(shí)要保守,接收時(shí)要大方。Jon Postel 最初認(rèn)為正是這個(gè)原則讓TCP協(xié)議的實(shí)現(xiàn)很健壯。一些人認(rèn)為這正是 HTML 很成功的原因,也有一些人認(rèn)為這正是 HTML 很失敗的原因。(因?yàn)镠TML可以寫得不那么嚴(yán)格,但是瀏覽器依然可以解析它)

如需轉(zhuǎn)載,請(qǐng)通過作者微信公眾號(hào)coderising獲取授權(quán)。





















