標籤:

記一次debug

大約下午4點發布到了開發環境,本以為很簡單,信心十足,稍後自測發現問題。看似簡單的邏輯,一直debug到晚上。8點左右喝了罐可樂,定了定神才成功debug。

有以下感想:

  1. 寫代碼類似寫文章,第一遍很難定稿。所以時刻想著緊隨其後的debug和監控,所以就需要寫log。
  2. 不能過多依賴log,一般來說流程的第一步、最後一步和關鍵步驟往往需要log。
  3. 我的debug套路就是依賴日誌,而且還是發布到開發環境,一共發布了8次。發布是一個很重的操作,還需要git的相關操作。所以自測需要本地的debug,儘可能少的依賴日誌(反覆增刪日誌很麻煩),而是利用斷點。
  4. 關於java.util.List,我總是默認為JDK里的實現,這次卻遇到了com.google.common.collect.Lists$TransformingRandomAccessList,裡面有很多詭異操作。第一次遇到難免踩坑,我都開始懷疑最基礎的知識了。
  5. Java程序總是需要很多繁瑣的操作處理對象和數據,會用函數式編程工具庫(如guava)能大大提高效率,而且代碼還優雅有逼格。
  6. 累了需要放鬆,天熱了喝點冷飲是個不錯的選擇。

推薦閱讀:

我做遊戲特效師的那些事(一)
為什麼真的真的要寫單元測試
第二封信:關於工作/轉行
第二次周報
周報的邏輯(轉)

TAG:工作經驗 |