程式碼整潔之道
簡介:
本書是程式設計大師“Bob 大叔”40餘年程式設計生涯的心得體會的總結,講解要成為真正專業的程式設計師需要具備什麼樣的態度,需要遵循什麼樣的原則,需要採取什麼樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為後來者引路,助其職業生涯邁上更高臺階。
本書適合所有程式設計師閱讀,也可供所有想成為具備職業素養的職場人士參考。
第十一章 壓力
想象一下靈魂出竅後的體驗:你看見自己躺在一張手術檯上,一位外科醫生給你做開胸手術。醫生竭力挽救你的性命,但是時間有限,也就是說,他的一舉一動都與病人生死攸關——你命懸一線。你期望醫生的表現如何?你希望他冷靜、井井有條嗎?你希望他清楚準確地吩咐助手嗎?你希望他嚴格遵循當初訓練時的做法堅守手術規程嗎?還是想讓他汗流浹背、咒罵之聲不斷?想讓他亂扔手術器械、把東西摔得哐當響嗎?想讓他滿腹怨氣責怪管理人員設定的不現實的手術時間,一直嚷嚷時間不夠用嗎?
你期望他表現得像一名專業人士,還是像我們常見的某些開發人員的那種做派?即使有壓力,專業開發人員也會冷靜果斷。儘管壓力不斷增大,他仍然會堅守所受的訓練和紀律,他知道這些是他賴以戰勝由最後期限和承諾所帶來的壓力感的最好方法。
1避免壓力
在壓力下保持冷靜的最好方式,便是規避會導致壓力的處境。規避的方式也許無法完全減除壓力,但是可以大大降低壓力並縮短高壓力期的時間。
承諾:
我們應當避免對沒有把握能夠達成的最後期限做出承諾,這一點很重要。
業務方總是期望能夠拿到這些承諾,因為他們想消除風險。我們要做的就是使風險定量化並將它們陳述給業務方,這樣他們就能做好相應的準備。做不切實際的承諾會阻礙目標的實現,對公司和個人都沒好處。
保持整潔
快速前進確保最後期限的方法,便是保持整潔。
讓系統、程式碼和設計儘可能整潔,就可以避免壓力。這並非是說我們要花無窮無盡的時間去清理程式碼,而只是說不要容忍混亂。混亂會降低速度,導致工期延誤,承諾失信。因此,要盡力保持輸出成果整潔乾淨。
在危機中堅守紀律:
選擇那些你在危機時刻依然會遵循的紀律原則,並且在所有工作中都遵守這些紀律。
遵守這些紀律原則是避免陷入危機的最好途徑。當困境降臨時,也不要改變行為。如果你遵守的紀律原則是工作的最佳方式,那麼即使是在深度危機中,也要堅決秉持這些紀律原則。
2.應對壓力
不要驚慌失措:
正確應對壓力。長夜漫漫無心睡眠,無助於更快地解決問題。呆坐著煩躁不安也於事無補。而你可能會犯的最嚴重的錯誤,就是魯莽倉促!要避免產生孤注一擲的想法。魯莽倉促只會把你帶入更深的深淵。相反,要放鬆下來。對問題深思熟慮。努力尋找可以帶來最好結果的路徑,然後沿著那條路徑以合理穩定的節奏前進。
溝通:
讓你的團隊和主管知道你正身陷困境之中。告訴他們你所制定的走出困境的最佳計劃。請求他們的支援和指引。避免產生的驚恐。沒有東西比驚恐更令人憤怒和失去理性。驚恐會讓你的壓力增大十倍。
依靠你的紀律原則:
不要驚慌失措地茫然四顧另尋依靠,而要從容不迫、專心致志地依靠你自己的紀律原則,這將幫助你更快地走出困境。(如果你遵循TDD,那麼這時寫的測試甚至要比平時多。如果你篤行無情的重構,這時就要更多地進行重構。如果你相信要保持函式儘量地小,這時就要讓函式變得更小。戰勝壓力煎熬的唯一方法,便是依靠那些你已經知道切實有效的東西——你平時遵守的紀律。)
尋求幫助:
結對!當頭腦發熱時,找一個願意和你一起結對程式設計的夥伴。你會前進得更快,而缺陷卻會更少。結對夥伴會幫助你守住原則,制止你的精神錯亂。搭檔會捕捉住你疏忽遺漏的事情,會提出有幫助的想法,會在你注意力迷失的時候接過你手中的工作繼續前進。同樣地,當你看到其他人身處壓力之下時,可以伸出援手,和他們結對工作,幫助他們走出困境。
3.結論
- 應對壓力的訣竅在於,能迴避壓力時儘可能地迴避,當無法迴避時則勇敢直面壓力。
- 可以透過慎重承諾、遵循自己的紀律原則、保持整潔等來回避壓力。
- 直面壓力時,則要保持冷靜,與別人多多溝通,堅守自己的原則紀律,並尋求他人的幫助。