如何盡奇跡懂別人的代碼?

2022-07-19 01:45

項目給我一堆代碼讓我維護。沒有文檔。請問如何盡奇跡懂別人的代碼?有什么訣竅嗎?真的很頭疼。謝謝各位了
2022-07-19 03:38
按功能模塊劃分,指定某個功能模塊之后,再去找相關(guān)類,相關(guān)方法,這時候你已經(jīng)知道這個方法是干什么用的,再去看看它的具體實現(xiàn)。大可不必逐句看,知其大意即可。
這樣維護項目上手快。切勿從頭到尾漫無頭緒的看,記不住的,而且會感覺很吃力。
更多回答
你這個問題是我一年前同樣存在的問題,要想快速讀懂別人的代碼。
首先自己的代碼能力不能太低了。所以,自己要敲代碼敲得多。
其次,一定要多了解常用API里的方法,實在遇到?jīng)]見過的方法,或者不了解的方法,就要查閱API文檔。

一般來說,除了jar包提供的代碼看不了實際邏輯,手動敲的代碼都是能夠看出邏輯的。而且,作為一個良好的程序員,如果知道一份代碼會被別人閱讀,至少會在接口上注明方法含義,以及傳入?yún)?shù)的意義。

我就是在不斷敲代碼提高了自己的代碼能力,現(xiàn)在已經(jīng)可以很輕松讀懂別人的代碼了。

希望你也加油。
先讀有幾個文件,主文件是哪個。
再讀主文件和其他文件中有幾個類,可能的話畫出類與類之間的關(guān)系(繼承關(guān)系,包含關(guān)系is-a-kind-of關(guān)系和has關(guān)系)。
三,讀各個類中有什么成員數(shù)據(jù)和成員方法,具體的方法體先不要讀。明確哪些類和方法是最底層的,畫出類之間的層次關(guān)系。同時大致了解這個類是干什么的,可以的話先為類加上javadoc注釋。
四,為各個方法和數(shù)據(jù)成員建立javadoc注釋,以方便在別的類中調(diào)用時知道他是干什么的。這一步要先從最底層的類和方法開始讀起。
最后就是借助javadoc對整個項目代碼進行梳理和理解.
這個問題首先你自己基礎(chǔ)要過關(guān),打個比方,通常有字典之后基本什么字都能認得了,可是你把字典給個連漢語拼音都不認識的人,他就不會用。所以基礎(chǔ)是關(guān)鍵。
還要了解大致的業(yè)務(wù)需求,通常根據(jù)方法名類名就能知道它是干什么的。
熱門問答