資源描述:
《教你如何讀懂源代碼》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、分析源代碼方法如何看懂源代碼--(分析源代碼方法)我們在寫程序時,有不少時間都是在看別人的代碼。例如看小組的代碼,看小組整合的守則,若一開始沒規(guī)劃怎么看,就會“??磭?啵ㄅ_語)”不管是參考也好,從開源抓下來研究也好,為了了解箇中含意,在有限的時間下,不免會對龐大的源代碼解讀感到壓力。網(wǎng)路上有一篇關(guān)于分析看代碼的方法,做為程序設(shè)計師的您,不妨參考看看,換個角度來分析。也能更有效率的解讀你想要的程序碼片段。六個章節(jié):(1)讀懂程序碼,使心法皆為我所用。(2)摸清架構(gòu),便可輕松掌握全貌。(3)優(yōu)質(zhì)工具在手,讀懂程序非難
2、事。(4)望文生義,進(jìn)而推敲組件的作用。(5)找到程序入口,再由上而下抽絲剝繭。(6)閱讀的樂趣,透過程序碼認(rèn)識作者。閱讀他人的程序碼(1)---讀懂程序碼,使心法皆為我所用程序碼是別人寫的,只有原作者才真的了解程序碼的用途及涵義。許多程序人心里都有一種不自覺的恐懼感,深怕被迫去碰觸其他人所寫的程序碼。但是,與其抗拒接收別人的程序碼,不如徹底了解相關(guān)的語言和慣例,當(dāng)成是培養(yǎng)自我實力的基石。對大多數(shù)的程序人來說,撰寫程序碼或許是令人開心的一件事情,但我相信,有更多人視閱讀他人所寫成的程序碼為畏途。許多人寧可自己重新
3、寫過一遍程序碼,也不愿意接收別人的程序碼,進(jìn)而修正錯誤,維護(hù)它們,甚至加強(qiáng)功能。這其中的關(guān)鍵究竟在何處呢?若是一語道破,其實也很簡單,程序碼是別人寫的,只有原作者才真的了解程序碼的用途及涵義。許多程序人心里都有一種不自覺的恐懼感,深怕被迫去碰觸其他人所寫的程序碼。這是來自于人類內(nèi)心深處對于陌生事物的原始恐懼。讀懂別人寫的程序碼,讓你收獲滿滿不過,基于許多現(xiàn)實的原因,程序人時常受迫要去接收別人的程序碼。例如,同事離職了,必須接手他遺留下來的工作,也有可能你是剛進(jìn)部門的菜鳥,而同事經(jīng)驗值夠了,升級了,風(fēng)水輪流轉(zhuǎn),一代
4、菜鳥換菜鳥。甚至,你的公司所承接的專案,必須接手或是整合客戶前一個廠商所遺留下來的系統(tǒng),你們手上只有那套系統(tǒng)的原始碼(運氣好時,還有數(shù)量不等的文件)。諸如此類的故事,其實時常在程序人身邊或身上持續(xù)上演著。許多程序人都將接手他人的程序碼,當(dāng)做一件悲慘的事情。每個人都不想接手別人所撰寫的程序碼,因為不想花時間去探索,寧可將生產(chǎn)力花在產(chǎn)生新的程序碼,而不是耗費在了解這些程序碼上。很遺憾的是,上述的情況對程序人來說很難避免。我們總是必須碰觸到其他人所寫成的程序碼,甚至必須了解它,加以修改。對于這項需求,在現(xiàn)今開放原始碼的
5、風(fēng)氣如此盛行的今日,正如之前的“程序設(shè)計2.0”文中所提到的,你可以透過開放原始碼學(xué)習(xí)到新的技術(shù),學(xué)習(xí)到高手的架構(gòu)設(shè)計,大幅提高學(xué)習(xí)的效率及效果。你甚至可以直接自開放原始碼專案中抽取,提煉出自己所需的程序碼,站在巨人的肩膀上,直接由彼端獲得所需的生產(chǎn)力。從這個觀點來看,讀懂別人所寫的程序碼,就不再只是從負(fù)面觀點的“被迫接收”,而是極具正面價值的“汲取養(yǎng)份。”先了解系統(tǒng)架構(gòu)與行為模式,再細(xì)讀倘若撰寫程序碼是程序人的重要技藝之一,那么讀懂別人的程序碼,接著加以修改,也勢必是另一個重要的技藝。如果你不能熟悉這項工作,不
6、僅在遭逢你所不愿面對的局面時,無法解決眼前接手他人程序碼的難題,更重要的是,當(dāng)你看著眼前現(xiàn)成的程序碼,卻不知如何從中擷取自己所需,導(dǎo)致最后只能入寶山空手回,望之興嘆。接觸他人的程序碼,大致上可以分為三種程度:一,了解,二,修改,擴(kuò)充,三,抽取,提煉。了解別人的程序碼是最基礎(chǔ)的工作,倘若不能了解自己要處理的程序碼,就甭論修改或擴(kuò)充,更不可能去蕪存菁,從中萃取出自己所需,回收再利用別人所撰寫的程序碼。雖說是“閱讀”,但程序碼并不像文章或小說一樣,透過這種做法,便能夠獲得一定程度的了解。閱讀文章或小說時,幾乎都是循序地
7、閱讀,你只消翻開第一頁,一行行閱讀下去即可。但是,有許多程序人在試著閱讀其他人的程序碼時,卻往往有不知如何讀起的困難?;蛟S找到系統(tǒng)的第一頁(也就是程序碼執(zhí)行的啟始點)并不難,但是復(fù)雜度高的系統(tǒng),有時十分龐大,有時千頭萬緒。從程序碼的啟始點開始讀起,一來要循序讀完所有的程序碼曠日費時,二來透過這種方式來了解系統(tǒng),很難在腦中構(gòu)建出系統(tǒng)的面貌,進(jìn)而了解到系統(tǒng)真正的行為。所以,閱讀程序碼的重點,不在于讀完每一行程序碼,而是在于有效率地透過探索及閱讀,從而了解系統(tǒng)的架構(gòu)及行為模式。以便在你需要了解任何片段的細(xì)節(jié)實作時,能夠
8、很快在腦上對映到具體的程序碼位置,直到那一刻,才是細(xì)讀的時機(jī)。熟悉溝通語言與慣例用語不論如何,有些基本的準(zhǔn)備,是閱讀他人程序碼時必須要有的。首先,你最好得了解程序碼寫成的程序語言。想要讀懂法文寫成的小說,總不能連法文都不懂吧。有些情況則很特殊。我們雖然不懂該程序碼撰寫所用的語言,但是因為現(xiàn)代語言的高階化,而且流行的程序語言多半都是血統(tǒng)相近,所以即使不那么熟悉,有時也可勉力