色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

為什么說(shuō)讀代碼比寫代碼難

為什么說(shuō)讀代碼比寫代碼難?

試問(wèn)如果代碼是自己寫的,怎么可能會(huì)不知道代碼的每個(gè)節(jié)點(diǎn)的含義呢?而要讀懂別人的寫的代碼就意味著要在打結(jié)的一坨流程中理出一個(gè)脈絡(luò)來(lái)。

寫代碼:新增一個(gè)節(jié)點(diǎn),然后連接到某個(gè)節(jié)點(diǎn)中;讀代碼:找到兩個(gè)節(jié)點(diǎn)之間的可能路徑;改代碼:替換某一個(gè)節(jié)點(diǎn),保證節(jié)點(diǎn)和每個(gè)節(jié)點(diǎn)之間的連通性、正確性;

可想而知讀代碼的難度要遠(yuǎn)遠(yuǎn)大于寫代碼。對(duì)于產(chǎn)品經(jīng)理和用戶來(lái)說(shuō),并不會(huì)關(guān)心這些節(jié)點(diǎn)是怎么連接起來(lái)的,所有的計(jì)算過(guò)程都被省略掉了,得看最終的顯現(xiàn)結(jié)果。代碼本質(zhì)上就是程序員寫給機(jī)器的命令,是程序員經(jīng)過(guò)思考后的產(chǎn)物。但思考的整個(gè)過(guò)程卻沒(méi)有明確地體現(xiàn)在代碼上。條條大路通羅馬,每個(gè)程序員的代碼風(fēng)格和流程的處理都是不一樣的,這就好比解一道數(shù)學(xué)題,最終只有一個(gè)答案,但解法卻可能是多種多樣的。讀代碼就是讀別人的解題思路,然而畢竟不同人的思想境界、編程水平都存在著很大的差異性。自己設(shè)計(jì)流程、自己寫代碼當(dāng)然思路非常清晰,但要是別人的思路,交給你來(lái)寫,一樣很難。

注釋、對(duì)象、MVC、高聚合、低耦合等等這些思想是為了方便別人能讀懂代碼,然后別人真的會(huì)每一段代碼都會(huì)去讀嗎?并不會(huì),這些大多都是方便寫代碼的人自己讀代碼,然后方便修改。我想很多程序員都有這樣的經(jīng)驗(yàn):經(jīng)常查看代碼都會(huì)吐槽,這代碼是誰(shuí)寫的?一看頭部注釋才知道是自己寫的。

寫代碼的人一段一段的代碼寫出來(lái),后來(lái)發(fā)現(xiàn)存在很多的問(wèn)題,隨后陸陸續(xù)續(xù)地修改了好幾版。可以說(shuō)終版的每一個(gè)小細(xì)節(jié)都是原作者花了很多時(shí)間不斷試錯(cuò)的結(jié)果,但試錯(cuò)的過(guò)程和結(jié)果并不會(huì)體現(xiàn)在代碼上。而讀代碼的人開(kāi)始改這些代碼的時(shí)候就會(huì)發(fā)現(xiàn)坑一踩一個(gè)準(zhǔn),沒(méi)有找到這些坑的連環(huán)線頭,根本解決不了問(wèn)題,只會(huì)出現(xiàn)更多的bug。

代碼中也往往都存在一些隱含的前提,比如函數(shù)的參數(shù)在傳入之前就已經(jīng)被處理過(guò)了,處理過(guò)程可能和另一個(gè)文件的某行代碼有關(guān),這種隱性的聯(lián)系很難被讀代碼的人察覺(jué)到,只要稍微一改動(dòng)就可能不斷地拋出異常。

但很無(wú)奈地是閱讀代碼是每個(gè)程序員成長(zhǎng)的必經(jīng)之路

俗話說(shuō)寫程序容易,但要寫好程序很難。程序員非常忌諱的就是閉門造車。古代地劍客在登頂之前都會(huì)尋找到無(wú)數(shù)人來(lái)喂招,借此來(lái)打磨自己地技藝。程序員也是如此,先學(xué)會(huì)抄作業(yè),然后在前人的基礎(chǔ)之上不斷地提高自己。

可能是別人的算法更加簡(jiǎn)潔突出,可能別人的節(jié)點(diǎn)設(shè)計(jì)的更加巧妙,也可能別人的程序整體框架搭建的更加合理,甚至于別人的錯(cuò)誤都有可能成為你下次不再犯同樣錯(cuò)誤的理由。可以說(shuō)讀別人的代碼可以很大程度上促進(jìn)一個(gè)程序員的成長(zhǎng)。

自己寫的代碼是一個(gè)輸出的過(guò)程,而讀別人的代碼是一個(gè)理解+吸收+消化的過(guò)程。所以讀代碼確實(shí)會(huì)比寫代碼難。

以上個(gè)人淺見(jiàn),歡迎批評(píng)指正。

認(rèn)同我的看法,請(qǐng)點(diǎn)個(gè)贊再走,感謝!

喜歡我的,請(qǐng)關(guān)注我,再次感謝!

vue嵌套css,為什么說(shuō)讀代碼比寫代碼難