東半球最先進的debug技巧
不論是什么行業里,能讓人最興奮的事情通常都是解決新奇的、高難度問題帶來的刺激。在我的工作中,經常會遇到很多bug,乍一看,它們都是不可能的。不是不可能解決,而是完全不可能出現。就好象最前沿的科技揭示了一個新的奇怪的邏輯現象,以至于人的大腦完全無法理解。
當然,這里我總結的這些bug都是很獨特的,如果你想說是否能有某種***進的系統性的方法能將這些bug歸類,統一解決,那是愚蠢的,就好象一個人 無法認識到自己在犯錯而避免過錯一樣。不管怎樣,下面的這些debug原則對我是十分有效的,而且我相信,對大多數程序員也都是有效的。
- 你改錯了文件
- 你改對了文件,但卻是在別人的機器上
- 你改對了文件,但忘了保存
- 你該對了文件,但忘了重新編譯
- 你認為你把那個東西開啟了,但實際上你把它關閉了
- 你認為你把那個東西關閉了,但實際上你把它開啟了
- 會議中,你應該用心聽。
- 你運行了錯誤的版本
- 你運行了正確的版本,但卻是在別人的機器上
- 你改正了問題,但忘了提交
- 你改正了問題,也提交了,但忘了push到版本庫中
- 你改正了問題,也提交了,也push了。然而,很多用戶的工作都依賴于之前有問題的版本,于是你必須回滾。
我非常虔誠的向大家奉送這些debug原則,任何一次debug都不可能只使用其中的一個方法解決。我真摯的希望大家通過對這些debug原則的思考能獲得意想不到的收獲。