什么樣的代碼是好的代碼?

一份(fen)好的(de)、優雅的(de)代碼,往往都包含如下的(de)特征(zheng):

1.好代碼是可讀易懂的

好(hao)代碼(ma)的第一個特點就(jiu)是可讀性,我們的寫代碼(ma)的目標用戶有兩類(lei),第一類(lei)是給(gei)編(bian)譯(yi)器看的;第二類(lei)是給(gei)維護它的程序(xu)員看的。

好代碼,什么樣的代碼是好代碼,什么是好代碼

針對第一類(lei)用(yong)戶,只要你(ni)符合(he)它(ta)(ta)的(de)語法規范,它(ta)(ta)就(jiu)(jiu)認識,它(ta)(ta)就(jiu)(jiu)可以(yi)執(zhi)行;而第二類(lei)用(yong)戶,就(jiu)(jiu)是后期不(bu)(bu)斷(duan)地(di)維護它(ta)(ta)、升級它(ta)(ta)的(de)程序員同學,如果這段(duan)代碼,維護它(ta)(ta)的(de)人都讀不(bu)(bu)懂,那他的(de)長期存在的(de)意(yi)義也(ye)就(jiu)(jiu)不(bu)(bu)大了。

2.好代碼是被合理組織的

代碼里是(shi)不是(shi)有些很巨大(da)的(de)(de)類?有沒有遵守(shou)依賴倒轉原則?別(bie)人在瀏覽目(mu)錄后是(shi)不是(shi)能快(kuai)速找到(dao)想找的(de)(de)模塊?是(shi)不是(shi)能方便地抽取出某個模塊用在別(bie)的(de)(de)項目(mu)里?

3.好代碼是可測試的

這里單(dan)獨有一篇(pian)文章講什么是可(ke)測試(shi)的代碼。簡單(dan)來說就是盡可(ke)能(neng)(neng)地解耦(ou),最(zui)小(xiao)化對(dui)其他(ta)模(mo)塊的影響(xiang),函數(shu)功(gong)能(neng)(neng)盡可(ke)能(neng)(neng)單(dan)一。

4.好代碼是可用的

對,你沒看錯,好代(dai)碼(ma),一定是可用的(de)(de),可以(yi)work的(de)(de),如果一段代(dai)碼(ma)只是看著好看,用了各(ge)種花里胡(hu)哨的(de)(de)編(bian)碼(ma)技巧、手法,但是不能work,那就(jiu)失去了它存在的(de)(de)意義(yi)了。所以(yi),好代(dai)碼(ma),最最最重要的(de)(de)一個特點就(jiu)是可用性。

5.好代碼是簡單的

好的(de)代碼應當(dang)是簡(jian)單的(de)。類(lei)和(he)函數只(zhi)有(you)一個(ge)職責,并包含邏輯小而緊密的(de)方(fang)法(fa)。模塊(kuai)只(zhi)有(you)需要的(de)依(yi)賴(lai),也只(zhi)對其他模塊(kuai)暴露(lu)必要的(de)方(fang)法(fa),保證(zheng)最小可見(jian)性。


好代碼,什么樣的代碼是好代碼,什么是好代碼

簡單來講:

好代碼像是一本寫作技巧高超的人所寫的書

1.容易理解

2.分(fen)章(zhang)明確,每一章(zhang)都有清晰的主旨

不好的代碼像是剛剛學會寫字的人所寫的書

1.各個章節之間紛亂復雜(za),每一章都沒有(you)明確的(de)主旨

2.連(lian)篇累牘(du)地重復一句話,而且(qie)毫(hao)無緣由

3.作(zuo)者(zhe)在(zai)一開始設定了(le)一些(xie)(xie)規(gui)則(ze),但是(shi)自(zi)己在(zai)后面(mian)的內容中卻不斷(duan)地(di)違反這些(xie)(xie)規(gui)則(ze)

4.突然間(jian)書里(li)出(chu)現了一(yi)個吸(xi)血鬼(gui),而且還能(neng)在(zai)白天出(chu)來吸(xi)血。

好代碼,什么樣的代碼是好代碼,什么是好代碼

THE END
什么樣的代碼是好的代碼?
一份好的、優雅的代碼,往往都包含如下的特征: 1.好代碼是可讀易懂的 好代碼的第一個特點就是可讀性,我們的寫代碼的目標用戶有兩類,第一類是給編譯器看的;……