程式設計師修鍊之道——從小工到專家讀後感

一:我的源碼讓貓吃了

這一節教會我要有責任心要負責。一、如果承諾了某件事,就要信守承諾完成它,儘管事情可能不盡人意使你不能完成它,

但你起碼是盡你所能去做了,而不是因為不可能完成了就提前放棄。

二、你必須分析事情的風險,如果風險超出你的控制範圍,你可以說你做不到,不去做承諾。

我要敢於承認錯誤,做到誠實坦白,並且積極的去找補救辦法,而不是去找一堆的借口。如果你犯錯了,

或者判斷失誤的時候,誠實的去承認它,找出你犯錯的原因,防止下次的犯錯的幾率,而不是去找一堆借口自欺欺人,

因為那隻會是你無能的一種體現。不要害怕承認犯錯,只有認識到錯誤才能夠有進步。所以面對人的本能缺陷,

我們必須要有勇氣去擔責,而不是找借口逃避。在面對事情變壞了時候,不要說事情做不到,而是提供選擇,通過選擇什麼方式能夠挽回局面。

二:軟體的熵

避免破窗效應 軟體開發過程中,有一種類似於熱力學定律的「熵」,無序,而且傾向於最大化。尤其是在大型項目上,功能多,交互頻繁,
更加不可控。假設有一些「破窗」(低劣的設計,錯誤決策,或糟糕的程式碼)長時間沒有修復,那整個項目就會迅速惡化。修訂好輕微破了
點的窗戶,哪怕是用木板釘起來,或者是掛個名片說明,比如注釋掉,或者說明TBD,都可以防止進一步的被破壞。這也是較省事的,
說明還處在可控情勢,越往後面就越不可控,情勢就急轉直下,到最後「熵」贏得勝利,項目就失敗了。

三:石頭湯與煮青蛙

有的時候,你知道要做什麼,以及怎樣去做。但是中間會遇到很多阻力,要麼這個不配合,那個不願意,要麼這個待批准,那個要研究。
這個時候就要拿出石頭來了,先拿出一些合理的東西,做好它,拿給他們看,讓他們大吃一驚。然後說「要是我們增加…可能會更好。」然
後就等著他們來找你,給你增加原本你想要的東西了。因為參與正在發生的成功要更容易,讓他們瞥見未來,就能讓他們聚集在周圍了。