看板 Soft_Job 關於我們 聯絡資訊
Talent is overrated. 我覺得跟天份沒太大關係。 能當程式員的,智商都有一定水平在,你只是缺乏練習跟方法而已。 你可以利用一些 cross-reference 的工具來做輔助, 利如 source insight、slickedit 可以參考我之前在版上發的 editor 心得文。 還有一些工具能幫你做一些圖表文件的,如 doxygen,除此之外, 自己手動畫一些流程圖或物件關係圖會很有幫助, 我在 trace 一些程式時也會自己把關係圖畫出來。 此外有些 IDE 可以做 source level debug 會輕鬆很多, 但有些東西基本上就沒辦法,像我現在搞的 embedded system 大部份都沒有。 最好的 debug 方式可能就只有 print (這有種稱呼叫做刷牆)。 最後你需要的就是經驗跟背景知識,這東西不是一朝一夕可以得到的, 經驗累積往往會變成潛在的一種直覺,所謂直覺你就是知道很可能會這樣, 但通常你卻無法解釋為什麼你會知道,例如我曾經解過一個莫名奇妙的問題, 檢查所有程式碼都很正常,但是直覺告訴我是因為 race condition 產生的, 所以我後來改變 driver 啟動順序就解決了。 此外,我不知道你是否知道一種冥想狀態? 我寫程式時在進入這種冥想狀態時效率最好, 我後來在 peopleware 裡也看到作者提到過類似的東西, 所以我認為優秀的程式員應該都有過這種體驗,當然我並不優秀就是了。 我只是個月薪三萬多的廢材工程師 (XD)。 我的心得是: 1. 善用工具。 2. 多 trace 別人的 code。 3. 多唸書。 4. 多實作。 一點淺見僅供參考。 ※ 引述《isnt (start it or not)》之銘言: : 寫過程式的大家都知道,不同的工程師產出差異大。 : 而我是一個半路出家的自學者, : 同Team某位資深工程師也非本科, : 但是他解bug的速度卻很驚人。 : 我也一直希望自己可以到達那個等級, : 但發現我最欠缺的是專注力。 : 常常trace code到一半就忘記剛剛要找什麼, : 我花了半天找到,可能別人只要半小時。 : 其實自己知道也不是Code看不懂, : 就真的是會失神,我自己也很困擾。 : 尤其是大架構的東西,跳來跳去我一下就花了。 : 有沒有過來人可以指點一下? : 是否這是新手必經之路? : 或者只能說專注力也是天分的一部分嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.62.136 ※ 編輯: iman00b 來自: 114.42.62.136 (08/31 03:20)
prag222:靠直覺只能說又快又準(準的話)..... 08/31 21:19
prag222:就下棋的大師....下到最後都直覺當本能了(我猜的) 08/31 21:20
prag222:直覺也不是無法解釋,可能是思緒推理的判斷太快了 08/31 21:23