1. 程式人生 > >第三周讀書筆記

第三周讀書筆記

body 程序員 責任 承擔責任 程序 沒有 觀點 開發 長時間

《程序員的職業修養》讀書筆記

本書一直圍繞著“專業”二字展開,以作者的觀點闡述了何為"專業的程序員":專業的程序員是如何思考,如何解決問題,如何承擔責任。

所有軟件項目的知道原則是,軟件要易於修改。如果你希望自己的軟件靈活可變,那就應該市場修改它!要證明軟件易於修改,唯一的辦法就是做些實際的修改。如果你發現這些改動並不像你預想的那樣簡單,你就應該改進設計,使後續修改改變簡單。有時開發期已過進入測試階段,可能還會加一點需求,如果是影響到邏輯上的改動會比較麻煩,每次都要改一些時間。但是反過來想,如果每次改都要很長時間,是否是因為我本來的代碼不易擴展和修改呢?所以,今後在寫代碼的時候要考慮多種可擴展的情況,讓代碼的可擴展性,可定制性達到很高的水平,這樣一來,以後如果要增加需求或者更改需求的時候能夠應付自如。

所有出bug的地方一定是自己沒有完全理解的地方,沒有之一,全部命中。所以漸漸的,養成先好好看代碼,將邏輯都理清了再重構或者再寫代碼的習慣,顯然出錯率少了很多。沒人能寫出完美的軟件,但這並不表示你不用對不完美負責。不能一而再,再而三犯同樣的錯誤,職業經驗多了以後,你的失誤率應該快速減少,甚至漸進於零。失誤率不可能等於零,但是你有責任讓它無線接近於零。也許你認為自己一個人工作時會做得更好。也許確實如此,但這並不意味著你一個人工作時,整個團隊會做得更好。況且,,事實上,一個人單獨工作時,不太可能會工作得更好。

專業開發人員的“完成”只有一個含義:完成,就是完成。完成意味著所有的代碼都寫完了,所有的測試都通過了,需求方已經認可,這才是完成。將大任務分成許多小任務,分開預估再加總,結果回避單獨評估大任務要準確很多。這樣做之所以能提高準確度,是因為小人物的預估錯誤幾乎可以忽略不會對總的結果產生明顯影響。當你的能力明顯達不到經理的期望的工期的時候,要敢於說“不可能”。要說明自己盡力所能達到的效果,要讓經理知道實際情況,跟經理一起找到雙方都能接受的解決方案,而不是屈服於權勢而打腫臉充胖子,因為如果你沒能實現你的“豪言壯語”,背鍋的就是你。

第三周讀書筆記