記一次debug
05-10
大約下午4點發布到了開發環境,本以為很簡單,信心十足,稍後自測發現問題。看似簡單的邏輯,一直debug到晚上。8點左右喝了罐可樂,定了定神才成功debug。
有以下感想:
- 寫代碼類似寫文章,第一遍很難定稿。所以時刻想著緊隨其後的debug和監控,所以就需要寫log。
- 不能過多依賴log,一般來說流程的第一步、最後一步和關鍵步驟往往需要log。
- 我的debug套路就是依賴日誌,而且還是發布到開發環境,一共發布了8次。發布是一個很重的操作,還需要git的相關操作。所以自測需要本地的debug,儘可能少的依賴日誌(反覆增刪日誌很麻煩),而是利用斷點。
- 關於java.util.List,我總是默認為JDK里的實現,這次卻遇到了com.google.common.collect.Lists$TransformingRandomAccessList,裡面有很多詭異操作。第一次遇到難免踩坑,我都開始懷疑最基礎的知識了。
- Java程序總是需要很多繁瑣的操作處理對象和數據,會用函數式編程和工具庫(如guava)能大大提高效率,而且代碼還優雅有逼格。
- 累了需要放鬆,天熱了喝點冷飲是個不錯的選擇。
推薦閱讀:
※我做遊戲特效師的那些事(一)
※為什麼真的真的要寫單元測試
※第二封信:關於工作/轉行
※第二次周報
※周報的邏輯(轉)
TAG:工作經驗 |