備選方案
和優秀的人合作,很容易得到理解和體諒,因為他們對問題本來就有很多種解決方案,也都明白方案是靈活機變的。因此,互相懷疑對方能力,不能理解對方的處境,絕不讓步,這些事永遠都不會發生。
當我們面對困難的時候,如果我們除了僅有的一個選擇之外別無它法,這往往不是一個好的狀態。如果沒有權衡的余地,就只能被動的接受一切,也就沒有辦法處理任何突發狀況。
編寫代碼也是如此,如果我們一開始只有一種辦法來實現功能,那么這通常不是一個最優的選擇。實際上,我們應該不遺余力的尋找備選方案,未雨綢繆。
有失才有得
我聽過很多人都吶喊著想做出改變,但是真正主動承受痛苦改變成功的卻沒有多少人。究其原因是,僅僅想要做出改變,還遠遠不夠。任何改變不可能只是帶來利益,而不需要付出沉重的代價。
所以,關鍵不在于人們是否愿意改變自己,也不在于人們是否能夠戰勝自己的習慣。而是在于愿不愿意為不確定的事情付出顯而易見的代價,是否有能力承擔風險。事情就是這樣,我們會得到一些自己想要的,卻同時又會失去一些我們不想失去的。
維持任何優雅的代碼特征都是需要成本的,我們都想追求可維護性,可讀性,又要保證性能和質量,還要按時完成,這幾乎是不可能的。我們需要考慮的是,維持這些特性的成本是否值得投入,以及性價比有多大,是否有更重要的事情要做。
更上一層樓
當我們視野不夠的時候,總是容易表現得小肚雞腸,對一些細枝末節斤斤計較。所以,最好先看一下較遠的地方,再低下頭來審視當前工作的價值。制定目標的時候也是如此,先想一下未來的樣子,然后再將長期計劃截斷為短期計劃。
在軟件行業,新瓶裝舊酒的技術方案受制于各種商業因素的影響,此起彼伏層出不窮。如果看不清發展趨勢,我們當前努力打造的代碼堡壘,會被潮流的更替瞬間擊垮,憑添太多改造成本。所以,保持忙碌很重要,也要謹防忙碌的樣子,正確的做事很重要,也要膽識做正確的事情。
意料之外還是意料之中
沒有明確的目的,會讓我們很難進行取舍。例如,保留一個已有的問題會節省時間,但是可能會使這個問題以后更難被解決,該如何選擇?事實上,這取決于我們到底想節省時間,還是想避免以后的麻煩。
只有明確了目的,明確了某些做法是我們有意而為之,才會避免心理上的抵觸。潔癖和強迫癥才不會干擾我們,世界才能清靜下來。