国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

程序員如何高效讀代碼?

網(wǎng)友解答: 相信每一個程序員都有讀別人代碼的經(jīng)歷,尤其是半路加入項目組,或者是半路接手同事未完成的項目。同時我也相信每個程序員都有過贊嘆別人代碼的經(jīng)歷,也有過鄙視別人代碼經(jīng)歷,但是不管怎

網(wǎng)友解答:

相信每一個程序員都有讀別人代碼的經(jīng)歷,尤其是半路加入項目組,或者是半路接手同事未完成的項目。同時我也相信每個程序員都有過贊嘆別人代碼的經(jīng)歷,也有過鄙視別人代碼經(jīng)歷,但是不管怎么說讀別人代碼總歸是程序員繞不開的一件事情。

讀別人代碼分為幾種情況,一種情況是讀整體代碼,另一種情況是讀某個模塊,這主要取決于你參與項目的階段和參與的程度。通常情況下,讀別人代碼都有一個基本的思路,我以自己的經(jīng)驗來描述一下這個過程。


了解項目整體功能

在讀別人代碼之前首先要了解一下項目的整體功能,通常情況下項目都有比較詳細的方案規(guī)劃,要先把方案看一下。這個步驟是建立自己代碼實現(xiàn)思路的過程,程序員在閱讀方案的時候會有自己的一系列常規(guī)解決方案,如果待讀的代碼是其中的一種方案,那么恭喜你,你可能很快就能完成代碼的梳理。

方案有的寫的比較詳細,有完整的設(shè)計圖和流程圖,那么這個時候再讀代碼就比較容易了,因為知道了入口和出口,細節(jié)看起來就比較好理解。而有的方案寫的比較籠統(tǒng),或者是中間經(jīng)過多次調(diào)整,這些調(diào)整可能并沒有體現(xiàn)在方案中(實際項目中比較常見),這個時候需要做很多標記,必要的時候要跟項目經(jīng)理或者架構(gòu)師做一個詳細的溝通。


了解項目的功能模塊劃分

現(xiàn)在的程序開發(fā)基本上都是按照角色進行任務(wù)劃分的,所以程序員在讀別人代碼的時候大部分情況下不存在技術(shù)上的障礙,也就是說基本上采用的編程語言和框架都是統(tǒng)一的。這種情況下讀代碼實際上就是讀思路,而思路是建立在功能模塊劃分上的,所以了解項目的功能模塊劃分就比較重要了。

通常情況下方案并不會把每個實現(xiàn)模塊都完整描述清楚,這個時候需要讀代碼的程序員自己完成功能標記。專業(yè)的程序員會寫注釋,有的注釋寫的非常清晰,這個對讀代碼的人來說絕對是件賞心悅目的事情。所以說寫代碼的時候?qū)懞米⑨寣Τ绦騿T非常重要,開玩笑的說這是一個積攢人品的過程。


標記代碼

這個階段就是開始進行代碼的細節(jié)分析了,有的代碼量比較小的程序可以直接進行這個步驟。當讀到每個類實現(xiàn)的階段時,我比較喜歡為每個方法加一個標注,然后讓程序跑一下,這樣基本上就知道核心參數(shù)的變化過程以及輸出的結(jié)果了。

當然,讀完代碼之后一定要把標注去掉的,也不要輕易的去修改看似有問題的部分,因為任何一個不合理的設(shè)計背后都有可能是萬不得已而為的,你改了其中一個問題可能會引發(fā)一系列連鎖問題,一定要謹慎。

總之,讀別人代碼有的時候是個學習的過程,有的時候是個郁悶的過程(大部分的情況),不管怎么說這就是程序員工作內(nèi)容的一部分。

關(guān)注我,了解更多關(guān)于軟件開發(fā)的內(nèi)容。


網(wǎng)友解答:

第一步前期知識儲備:前期知識的儲備對每一個程序員來說很重要,只有準備好了,后面學習才能事半功倍;技術(shù)方面我們需要知道這份源碼采用了哪種語言,利用了哪些框架;接下來就是文檔,盡可能來根據(jù)文檔來理解源碼;

第二步對待源碼需要有分層的概念:如果遇見一份優(yōu)秀的代碼,我們可能會更加容易去讀懂。但是如果遇見一份差的或者是不堪入目的代碼,我們更多時候能夠更好去為了理解代碼,需要在腦子里建立起源代碼背后的層次和結(jié)構(gòu)映射。

第三步找出主干內(nèi)容:有點像是閱讀文章時找出這篇文章的中心句,對待代碼也是一樣,提綱挈領(lǐng),對做很多事情都是提高效率的方式,很多代碼是用來做一些瑣碎的,事務(wù)性的事情的。要高效理解和把握代碼,就必須抓住主干。

標簽: