從這個月起,我開始閱讀《程式設計師修煉之道:從小工到專家》,先簡單瞭解一下這本書,《程式設計師修煉之道》的作者是安德魯·亨特和大衛·托馬斯,譯者是周愛民,出版於電子工業出版社,《程式設計師修煉之道》有兩個版本,分別是《程式設計師修煉之道:從小工到專家》和《程式設計師修煉之道:通向務實的最高境界》,我閱讀的是第一版。
第一章 注重實效的哲學
1.我的原始碼讓貓給吃了
摘抄:如果存在供應商不能按時供貨的風險,你應該預先制定一份應急計劃。如果磁碟垮了—帶走了你的所有原始碼—而你沒有備份,那是你的錯。告訴你的老闆“我的原始碼讓貓給吃了”也無法改變這一點。在所有的弱點中,最大的弱點就是害怕暴露弱點。
作為程式設計師,嚴謹性是必備的,當你發現問題時要趁早解決,不要讓問題擴大化,影響到整個程式的開發,當意外真正發生,第一思考的應該是如何解決,先尋找解決方案,而不是思考怎麼找藉口讓自己和這次意外脫離關係,這無濟於事。在軟體開發中,問題總會出現,我們需要誠實和坦率。“貓吃程式碼”雖然很荒誕,但也警醒我們要時刻關注程式碼的安全性和可恢復性,透過實施版本控制、定期備份和培養良好的工作習慣來保護自己的勞動成果。
2.軟體的熵
摘抄:糟糕的程式碼跟破窗戶(只要一段時間沒清潔修理,就會有廢棄感)一樣,不要留著 “破窗戶” 不修,不要容忍破窗戶,發現一個就修一個,即使沒有足夠完善,就用木板把它釘起來,比如說新增註釋、用假資料替代(說明)等,採取某種行動來防止軟體進一步損壞,並說明情勢在你控制之下。
這是一個惡性迴圈,混亂的程式碼就像破窗戶一樣,程式碼寫的太亂,可能自己過一段時間後也會不清楚程式碼的意思,更不用說把程式碼給別人看。軟體的熵或許無法避免,但是我們必須能夠有效管理和控制熵,我們要注重程式碼的維護,解決問題要從根本下手,在編寫程式碼時最好要編寫清晰的註釋,幫助團隊成員和其他開發者快速理解程式碼的功能和邏輯。
3.石頭湯與煮青蛙
摘抄:士兵戲弄村民,利用村民的好奇從他們那裡弄到了食物,最後大家都吃了幾個月來第一頓飽飯。士兵充當了村民團結起來的催化劑,和他們一起做到了本來做不到的事情,在這件事上士兵所催生的變化對村民完全有利。如果抓一個青蛙放進沸水裡,青蛙一下子就跳出來,但是如果把青蛙放進冷水裡,慢慢加熱,青蛙不會注意到周圍溫度的變化,會呆在鍋裡直到被煮熟,冷水加熱對青蛙來說,是害死他的催化過程。
石頭湯的故事告訴我們團隊的力量,軟體開發往往不是一個人的事,而是需要團隊共同努力,透過持續的努力和積累,逐漸實現目標。溫水煮青蛙我們都聽過,這個寓言故事意在說明累積的風險,在軟體開發中,我們通常要編寫成千上萬的程式碼,在這個過程中我們需要十分謹慎,因為程式碼中的小問題足以讓整個程式癱瘓,我認為這兩個故事不僅能夠用於程式設計師的身上,也適用於任何需要團隊合作和持續學習的領域。
以上是我對《程式設計師修煉之道:從小工到專家》第一章前三節的理解,接下來我會繼續閱讀這本書,來獲取更多知識