Obie Fernandez談“我收到的最佳程式設計建議”
Hashrocket公司創始人兼Addison-Wesley Professional出版社Ruby系列叢書編輯Obie Fernandez談閱讀錯誤訊息的重要性。
姓名:
Obie Fernandez
程式設計能力及工作經驗:
Obie是Hashrocket公司創始人,Hashrocket是一傢俱有世界領先水平的web設計及開發諮詢公司。Obie不僅是公認的技術領導者,而且經常在行業活動中發表演講,此外他還是Addison-Wesley Professional出版社Ruby系列暢銷書的編輯。在成立Hashrocket之前,Obie是ThoughtWorks的高階諮詢師,專攻複雜的定製企業軟體專案。自從上世紀80年代得到他的第一臺Commodore VIC-20個人電腦起,他就一直在擺弄計算機,而且在上世紀90年代中期參與首批Java企業級專案時,Obie發現自己在正確的時間和地點成為了一名程式設計師。
Commodore VIC-20個人電腦及電視機
建議:
儘管以下建議似乎極為顯而易見,但是我卻常常必須對自己和其他人提起它:“在著手對程式碼進行額外修改之前,應該花點兒時間去理解位於異常/堆疊跟蹤頂部的錯誤訊息。(Take a moment to understand the error message at the top of an exception/stack trace before making additional changes to your code.)”
我不明白為何遵循此建議會有這麼困難,不過這些年裡我已收集到了一些線索。首先,除非我們修改程式碼只是尋開心,否則我們總是處於某種程度的時間壓力之下。而且在我們對某些程式碼進行微調的時候,我們通常會對哪些程式碼可以執行而哪些程式碼不能執行略知一二。我們通常會嘗試某種解決方案,並進行額外的程式碼修改,儘管沒有充分認識到那樣做將會導致什麼後果。然後你切換到你的程式或測試控制檯去檢視修改結果,接著數十行的堆疊跟蹤資訊會再次填滿了你的螢幕。實際的錯誤訊息幾乎無法立刻看到。
就在短暫、近乎本能的瞬間,你做出了選擇。是向上滾動至跟蹤資訊的頂部,然後檢視到底出了什麼錯;還是假設出了某個錯,然後跳到相應的程式碼那裡並試著做些小修小改。我猜這麼做是人之天性使然,要不就與我們當日所攝入的咖啡因數量有關,無論是何原因,但結果往往是它誘惑你去按著你的假設行動。
在結對程式設計時,我注意到在初學者身上這個壞習慣尤為突出。我認為這是因為在我們學習程式設計時,犯了如此之多的錯誤。而由此帶來的不安全感使得我們想盡快完成那些小修小改。以我的經驗來看,更有效率的做法是檢視我們正在處理的錯誤或失敗為何種型別,而不是盲目地返回程式碼,並嘗試在我們的大腦中把它想清楚。
因此,一定要花點兒時間向上滾動,然後仔細檢視位於堆疊跟蹤頂部的實際錯誤訊息。通常,你的第一反應是完全錯誤的,而且在一無所知的情況下橫衝直撞只會浪費大量的時間和精力。
檢視英文原文:"The Best Programming Advice I Ever Got" with Obie Fernandez
來自更多程式設計師的建議參見“我收到的最佳程式設計建議”(The Best Programming Advice I Ever Got)系列文章。
“我收到的最佳程式設計建議”系列譯文
相關文章
- Rob Pike談“我收到的最佳程式設計建議”程式設計
- Erik Buck談“我收到的最佳程式設計建議”程式設計
- Danny Kalev談“我收到的最佳程式設計建議”程式設計
- Russ Olsen談“我收到的最佳程式設計建議”程式設計
- Bill Wagner談“我收到的最佳程式設計建議”程式設計
- 我曾得到的最佳程式設計建議程式設計
- 我給所有新手程式設計師的建議程式設計師
- 我曾經得到的一個最好的程式設計建議程式設計
- 程式設計幾點建議程式設計
- Google前美女面試官談程式設計師面試的技巧和建議Go面試程式設計師
- 學習Java程式設計的建議Java程式設計
- 自學程式設計的朋友,我想給你們這 5 個建議程式設計
- 我給程式設計師新手寫簡歷的一些建議程式設計師
- 池建強:我的人生超程式設計(圖靈訪談)程式設計圖靈
- 程式設計漫談(二十):如何自學程式設計及Java、上手真實開發及轉行程式設計師的建議Java行程程式設計師
- PHP 安全程式設計建議PHP程式設計
- 程式設計師:開始程式設計生涯的5個建議程式設計師
- java程式設計的一些建議Java程式設計
- 一個老程式設計師的建議程式設計師
- 程式設計師跳槽的10個建議程式設計師
- Midway 後端程式碼的設計建議後端
- 老程式設計師的10條中肯建議程式設計師
- 提高程式設計能力的7條建議程式設計
- 關於 iOS 64位程式設計的建議iOS程式設計
- 給未來精英程式設計師的建議程式設計師
- 雷軍給程式設計師的五點建議程式設計師
- 寫給未來程式設計師的建議程式設計師
- 給新程式設計師的10條建議程式設計師
- 提高程式設計技能的11個建議程式設計
- 給新人程式設計師的 10 點建議程式設計師
- 給新手程式設計師的幾點建議程式設計師
- 學習Java程式設計的三個建議Java程式設計
- 程式設計師從書本學習程式設計的 5 個建議程式設計師
- [分享]2021 年對 React 前端程式設計師的 10 個程式碼最佳實踐建議React前端程式設計師
- 祖克伯關於程式設計的建議:若不是從小玩遊戲,我絕不會學程式設計程式設計遊戲
- 給程式設計師“菜鳥”的6條建議程式設計師
- 贏得程式設計師尊重的 7 個建議程式設計師
- 贏得程式設計師尊重的7個建議程式設計師