首頁 > 現代都市 > 這個吞金獸不好養 > 第十一章 接下第一個懸賞任務

第十一章 接下第一個懸賞任務(2/2)

目錄

需求文檔呢?沒有。

你這個有問題,你那個...…

無限重複bug,無限改。

好煩,或許,可能,大概,我想不出來。

你有什麼好建議?加個東西很簡單的!結果搞了一天。

所以程式設計師,那些碼農每天說來說去都是以上這些話,基本上都能把人給逼瘋了。

接過這個懸賞之後,葉新晨就是認真的看了起來,這個文件包還是挺不小的,而且這些代碼看的令人非常的頭疼。

閱讀代碼有兩種模式:top-down 和 bottom-up。

Top-down 模式,就是先設定一個 use case,比如說打開一個文件,然後靜態跟著代碼看,或者用 debugger 跟著看。

這樣子每次出現函數調用的時候,把函數的執行層次紀錄下來。

大致如下:

func1()

func2()

func()

func3()

這種圖表很隨意,是可以根據自己的需要增加信息。

比如有的人有時會把重要的實際參數一直標下來,這樣閱讀深層次代碼不用再回頭查形式參數到底指什麼。

這個基本作用是防止在閱讀深層次代碼時忘記總體執行層次。

而Top-down 模式進行到一定層次,往往會發現雖然圖畫了出來,但還是無法了解程序再幹什麼。這時需要轉入 bottom-up 模式,一直深入到最底層,給能了解作用的底層函數一個一個的寫文檔。

當然這時的文檔是完全底層的觀點。

然後就是不斷在兩個模式之間轉換,不斷的細化兩種模式的理解。

雖然看這樣子看代碼會簡單很多,但是還是也會一直看的人眼睛眼花繚亂。

而另一方面,在葉新晨接了這個懸賞不久,發布這個懸賞的人就給他發了一些消息。

天涯海角:你好,有些地方我要跟你說一下,因為我怕你看代碼看的時間會很久。主要的問題就是我改了一個功能,結果總是跟預期對不上,查了代碼C++的,沒發現邏輯問題,然後花了幾天,終於發現了關鍵點:有一個變量,莫名其妙在不經意間值就會變了。

天涯海角:然後我自然就開始懷疑是多線程沒有保護的問題,但研究後不像,發現這個變量值跳變也不是隨雞的,總在一行特定的位置後,值就會變了,這一行特別簡單,就是個簡單的加法,然後跟這個加法不直接相干的另一個變量的的值就會發生變化。

天涯海角:所以就這個給我直接卡住了,我問了不少的程式設計師大咖都沒有給我整明白,所以希望葉子兄能夠幫我找出來哪個環節出現問題了。

葉子兄自然就是葉新晨的黑土平台的網名,畢竟黑土平台也不會讓你用真名,身份證信息平台可以知道,但是沒有必要讓平台的用戶知道,畢竟萬一有人有仇,將身份信息泄露出去,那也不是一件美好的事情。

葉新晨看著這個天涯海角發來的消息,腦海里也是自動浮現出了一個經驗知識。

目錄
返回頂部