Re: [請益] 如何快速的看懂程式碼?
※ 引述《gogogogoooo (...)》之銘言:
: 目前剛進去工作
: 主管便把他們Team開發成品到現在的source code丟給我看
: 大概數十萬行吧 裡頭的註解非常的少 可以說是沒有
: 主管叫我自行trace code 看懂整個程式碼在幹麻
: 常常看到一大堆變數 卻完全不曉得意義為何
: 也不知道幹麼用 覺得非常的挫折
: 那種感覺就有點像是你寫了一個算式
: 例如說 3*2=6 看得懂式子
: 可是我卻不曉得他實際在幹麻
: 或許他的意義可能是有3個人 每個人有2顆蘋果 總共有6顆蘋果
: 公司是寫韌體的 算是網通廠 最近又丟了一份datasheet給我看
: 因為程式碼裡頭有些是寫入Register的 要看datasheet才知道在幹麼
: 以前也從來沒碰過硬體 看了spec也是一個頭兩個大
: 有時候問了主管一些問題 跟我說這看天份的...
: 不曉得版上的人 剛遇到一份幾乎沒註解的code的時候
: 是怎樣才可以比較快速的去看懂整個程式碼在幹麼?
我們公司是作Java方面的,在我們Team(開發Eclipse Plugin),我們工程師
遇到這種情況時常常會說:
願原力保佑你。
『看到這個A方法了嗎?那麼在這個Class裡,必然有B方法的存在。』
『雖然我從沒學過Ruby,不過這行應該是例外處理對吧?我想你寫錯了,你應該呼叫一
個也許是叫做...的機制來作這件事的。』
『這個Class雖然超過3000行,但是看它的命名還有interface,進入點應該是位於
某個類似XXX的方法裡...你瞧,我們剩下500行了。』
『從這個Package(name space)的名稱來看,裡面的Class應該不用trace,你就Call那個
Factory就好了,他需要的資訊(決定輸出所應有的Argument)至少是...。』
『這個系統為了完成A這樣的功能必然存在一個子系統B,我猜它的名字大概會是...』
『這個Helper(約1000行)從API來看跟我目前需要的東西同構(isomorphism),看來
我可以把他借過來用(ctrl C+V),邊際效應應該會出現在...』
所以關於註解,那是好心、仁慈而且善良的佛祖工程師,送你幫助你準時下班的禮物。
我個人微薄的希冀,只有拜託他們命名時有遵守行規,縮排Code時不要太有創意。
剩下的,關於那些邪惡Seth搞出來的Anti Logic 的 Code 義大利麵,我會當作那是成為
Jedi Master所必須經歷的磨練的。
--
『你知道人有腦子,所以不要只是單純的滿足它,偶爾也要使用它啊。』
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.153.181
推
11/09 01:09, , 1F
11/09 01:09, 1F
推
11/09 10:27, , 2F
11/09 10:27, 2F
推
11/09 18:03, , 3F
11/09 18:03, 3F
推
11/09 18:52, , 4F
11/09 18:52, 4F
推
11/09 20:26, , 5F
11/09 20:26, 5F
推
11/10 16:43, , 6F
11/10 16:43, 6F
推
11/10 20:11, , 7F
11/10 20:11, 7F
推
11/11 00:10, , 8F
11/11 00:10, 8F
→
11/11 10:38, , 9F
11/11 10:38, 9F
討論串 (同標題文章)
完整討論串 (本文為第 8 之 8 篇):
12
36
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章