《程序員修煉之道》讀後感

看到這個書名的時候,會不自覺的想起周星馳在《喜劇之王》中的經典橋段,手拿一本《演員的自我修養》激勵着很多懵懂青年。
就像這本書的自序所講的,這是一本包含有許多樸素的經驗,寫給注重實效的程序員的一本“演員的自我修養”。

剛剛步入編程隊伍的我,正需要這樣一本書給予我經驗,也因爲是多年精心耕耘的結果,一時不能全盤收入囊中,只能讓思想先入爲主,在開發中加以理解。
如何提問?
1:確切地知道你想要問什麼,並儘量明確具體;2:小心而得體地組織你的問題,記住你是在請求幫助;3:發郵件時請使用有意義的主題;4:坐回椅子上,耐心等候。

不要容忍破窗戶

當你看到糟糕的設計、錯誤的決策和糟糕的代碼時,修正它們。在工作中,很容易對源源不斷的bug不耐煩,或許被自己說服僥倖繞過,以後就會有更多的直至難以修復。破窗戶講的故事是一個小區的一扇窗戶沒有及時維修導致整個小區陷入被更多破壞的現實,人們再想起維修時,代價巨大,治安特別好的地區也對破窗嚴格治理。

定期爲你的知識資產投資

讓學習成爲習慣。編程語言、技術日新月異,小夥伴們都感受至深,幸運的是我們的知識獲得比任何行業都更加容易和方便,大量的社區,教程和熱心的作者。書中也給程序員提了幾點建議,每年學習一門新的語言,每個季度閱讀一本技術書籍等。

不要重複你自己

系統中的每一項知識都必須具有單一、無歧義、權威的表示。其實我還是不太明白這句話,目前能做的,就是儘量不寫重複的代碼。

讓複用變得容易

如果複用很容易,人們就會去複用。創造一個支持複用的環境。將相同的功能抽離出來,可能會大量用到的方法使用靜態關鍵字。

用曳光彈找到目標

曳光彈能通過試驗各種事物並檢查它們離目標有多遠讓你來追蹤目標。這應該是最近比較流行的敏捷開發了吧,快速迭代,在實踐中調整目標。

利用shell的力量

當圖形用戶界面無能爲力時使用shell。自從用了Ubuntu,我已經習慣了命令行操作,它能解放你的右手,這種感覺相當舒服,可以幫助我們自動完成一些工作。

要修正問題,而不是發出指責

bug是你的過錯還是別人的過錯,並不是真的很有關係——它仍然是你的問題,它仍然需要修正。勇於承認自己的過錯,這沒有什麼。

不要恐慌

做一次深呼吸,思考什麼可能是bug的原因。記得剛入團隊時,我時常會對難以捉摸,尤其是不能復現的bug感到恐懼,但細細尋找,你還是能看到蛛絲馬跡。

通過合約進行設計

使用合約建立文檔,並檢驗代碼所做的事情正好是它聲明要做的。規定好我們要傳入的參數的類型,數量,將他們寫在註釋裏,並對不合約定的參數進行處理。
要配置,不要集成

要將應用的各種技術選擇實現爲配置選項,而不是通過集成或工程方法實現。Yii框架的組件便是這一思想的最佳實踐。

使視圖與模型分離

要根據模型和視圖設計你的應用,從而以低廉的代碼獲取靈活性。最近的nodejs好火,前後端分離是必然趨勢,純粹的模型測試起來也是非常方便。

測試你的軟件,否則你的用戶就得測試

無情的測試,不要讓你的用戶爲你找bug

使用項目詞彙表

創建並維護項目中使用的專用術語和詞彙的單一信息源。這一點深有感觸,爲了方便,項目中通常會有一些簡稱,他對於業務人員是熟悉的,但編程人員卻不這麼想。

在你的作品上簽名

過去時代的手藝人爲能在他們的作品上簽名而自豪。你也應該如此。坦白的說,簽名之後再看這段代碼會非常愉悅,有時還會陷入自我欣賞中,他其實還有一個作用,我對代碼負責,我測試過並確保他的良好運行,也是一種自我監督吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章