Re: [請益] 如何快速的看懂程式碼?

看板Soft_Job (軟體人)作者 (遙遠的旅人)時間17年前 (2008/11/09 00:55), 編輯推噓8(801)
留言9則, 8人參與, 最新討論串8/8 (看更多)
※ 引述《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
我覺得有些亂改的CODE 看不懂是正常的
11/09 01:09, 1F

11/09 10:27, , 2F
推這篇對話 還蠻常用到的.XD
11/09 10:27, 2F

11/09 18:03, , 3F
May the force be with RD
11/09 18:03, 3F

11/09 18:52, , 4F
是May the source be with you....
11/09 18:52, 4F

11/09 20:26, , 5F
推。 的確是這樣沒錯。
11/09 20:26, 5F

11/10 16:43, , 6F
你們公司是..ibm嗎
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
文章代碼(AID): #195SIIfz (Soft_Job)
文章代碼(AID): #195SIIfz (Soft_Job)