##要點編程
設想把編程當作是轉動曲柄從井裏提一桶水上來的過程。若是水桶比較小,那麼僅需一個能自由轉動的曲柄就能夠了。若是水桶比較大並且裝滿水,那麼還沒等水桶所有被提上來你就會很累了。你須要一個防倒轉的裝置,以保證每轉一次能夠休息一下子。水桶越重,防倒轉的棘齒相距越近。 測試驅動開發中的測試程序就是防倒轉裝置上的棘齒。一旦咱們的某個測試程序能工做了,你就知道,它從如今開始而且之後永遠均可以工做了。相比於測試程序沒有經過,你距離讓全部的測試程序都工做又近了一步。如今咱們的工做是讓下一個測試程序工做,而後再下一個,就這樣一直進行。分析代表,要編程解決的問題越難,每次測試所覆蓋的範圍就應該越小。網絡
- [Dark Lauches](http://changelog.ca/log/2012/07/19/dark_launching_software_features)
簡單說,就是開發新功能是要能使之方便地開啓/關閉,能夠很好應對突發事故。運維
統一的度量標準工具
即時聊天工具/機器人測試
若是你認爲你能夠避免失敗,你就失去了鍛鍊應對失敗的能力。版本控制