-
1 # 智慧監控—陳
-
2 # 我知我說
要先有紮實的基礎才行,比如說基礎語法函式都不太清楚功能是什麼,那麼閱讀起來就很吃力的,首先也要清楚你這塊整體功能是什麼樣的功能自己在簡單的想下你自己如何寫,然後在理解的過程中也要大量斷點除錯輸出。
總結說就是兩點:紮實的基礎、邏輯思維好
基礎基礎是你寫程式的基石,也是你閱讀程式碼的基礎,程式設計就是要多寫多看。
邏輯邏輯思維是可以鍛鍊的,平常多看些開源按理學習他人的經驗,碰到優質的程式碼自己也可以儲存下來借鑑,其次在陌生專案中自己多斷點測試並註釋。
空閒時間也可以多對自己充充電看看網課,並非程式設計無時無刻都在更新。
-
3 # TonyDeng
在學編碼時,通常會有一個模仿的程式碼風格風格,逐漸形成自己的風格,那麼當你看到近似的風格時會比較容易理解.如果是不熟悉的風格,那是要適應的.總之是看多自然熟悉.程式碼的邏輯,那是要自己積累的.
-
4 # 假程式設計師的世界
怎麼理解?個人覺得最好的辦法就是跟著程式的執行過程看程式碼。
第一步是瞭解一個程式的生命週期。一個程式,你先找到它的啟動入口,一般最開始都是讀取配置檔案、載入配置之類;接下來看它呼叫了什麼函式,函數里面做了什麼操作,資料怎麼變化,可能它又會接著呼叫另一個函式,你再去看看另一個函式做了些什麼,一步步遞迴下去,知道看完了一個程式的執行過程。注意這個過程,不要對每一個函式的實現細節過多的糾結。比如它呼叫了一個載入配置檔案的函式,你只要知道這部分是載入配置,裡面的實現可能很複雜,但這部分對你瞭解這個程式的實現沒有太大影響,你可以暫時略過。
第二步是對程式核心功能部分把實現細節看懂。很多程式看起來很龐大,但裡面可能很多都是一些框架、輔助功能,這些可以略看,根據自己需要來學習;對於一些比較核心的部分,比如學習JAVA HashMap的原始碼,對map的新增、查詢、擴容等過程的要了解它是怎麼實現的,這部分是最核心的。
第三步最好是模仿這個程式自己寫一個類似的程式或者自己把這個程式重寫一遍。難度太大的話可以做一個簡易版的,只實現核心功能。別人的程式碼看再多也不一定會寫,自己寫一遍在過程中瞭解別人程式為什麼要這麼設計,更好的瞭解優秀程式優秀在哪裡。
-
5 # 多拉Cinema
要怎麼去理解?
1.首先從大局角度去分析,比如這段程式碼實現的什麼功能,最好能知道其原理,大概知道一點是幹什麼的;
2.我們知道是幹什麼的後,找出最關鍵的核心程式碼,然後進行延伸,其他大多的功能都是為了輔助核心程式碼的作用,當然了,肯定要懂一些程式設計的語言的,要不就是兩眼一黑;
3.請教大神,做輔助標示,還有就是那個程式設計師的寫法都會有點不一樣的,如定義變數名稱等,所以要會找到有用的部分,去除糟粕,留其精華!
再多的還是要自己多練,程式設計的思路,多接觸,慢慢的就會懂的!
-
6 # 李老師tome
我覺得可以透過以下幾步去理解:
檢視文件。瞭解整個專案由哪些模組和介面組成。
檢視註釋。良好的註釋能幫我們瞭解程式碼的意圖。
在不明白的地方打上標記,利用日誌以及自定義輸出檢視程式碼的詳細使用情況。
把重要的程式碼或者易造成誤導的程式碼用筆記記下來。
知道整體架構,可以自己手寫一個簡單版。或是使用這些程式碼實現自己的需求。
-
7 # JAVA程式設計師
我認為程式碼可以大體分為2類,不同類的程式碼需要不一樣的理解方式。
一、主要用來實現具體業務邏輯的程式碼
比如你開發一個汽車經銷商dms系統,那麼這個專案裡的具體業務邏輯的程式碼就是和汽車銷售,維修,配件等相關的,比如實現一個銷售訂單,比如實現汽車維修預約功能,又或者實現汽車銷量的統計等。當你拿到一個專案時如果遇到這樣的程式碼,最快的方式就是先熟悉這個專案的業務是怎樣的,熟悉了這個專案的業務流程非常有助於你去理解專案中的這部分程式碼,你可以看之前的需求文件,或是詢問一些瞭解這個專案的同事,當你瞭解了大概的業務流程之後,你再去理解這部分和業務相關的程式碼可能就會非常的快了,不會像一團亂麻似的理不清頭緒了。
二、一些抽象出來的程式碼和原理性的程式碼
對於這部分程式碼,瞭解業務對於理解這些程式碼用處不大,因為這部分是基本功,也是這門語言的語法,這要從技術的角度去分析這些程式碼,去理解這些程式碼,如果你理解不了可以去看書,看影片,看部落格,去論壇討論,這時候去學習才是最重要的,說明你在這裡有短板,你需要去補充這塊的知識點。比如一些設計模式,單例模式,建造者模式,代理模式,裝飾者模式等,你對於這些模式真的理解了嗎,在專案中,你能不能用的上這些設計模式,比如反射、比如java8的Lambda表示式,你會使用這些技術嗎,Lambda表示式你看到了能理解嗎,自己能把Lambda表示式使用在自己的專案裡嗎,當然了對於一個程式設計師來說知識是學不完的,但是如果遇到不會的技術點,只有去趕緊學習,除了學習還有什麼辦法呢?
其實無論是快速的熟悉業務,還是去攻克自己不會的技術點,歸根結底就是學習,只有不斷的去學習,快速的去學習自己不知道或是不瞭解的事物,當你的知識儲備達到一定的量的時候,你就會發現,你以前認為困惑的東西原來這麼的簡單,對於人就是這樣,會的東西簡單,不會的東西就是難,如果你遇到一個難題,你邁不過去這個坎,那麼它就永遠存在,當你歷盡劫難,千辛萬苦終於解決這個問題後,你會發現其實並不難。怎麼去理解程式碼,不同的程式碼有不同的方式,總而言之,那就是學習唄。
回覆列表
沒什麼技巧,程式碼要多看,看多了就會了,最重要的是是要理解作者的意圖。首先,要加強基本功:基礎語法、演算法、資料結構、組成原理、計算機網路、編譯原理這些基礎課;其次,還要學習《程式碼大全》,《設計模式》、《高質量C++》這些良書的學習的理解。送上一句話:百尺竿頭更進一步。祝你更上一層樓。