第五週讀書筆記

程序員修煉之道讀書筆記

第五週git

這周繼續讀了《程序員修煉之道》,終於看完了這本書,結合最近的團隊項目經歷和上課講的內容,來寫一個總的讀書筆記。程序員

當時剛買回來的時候粗略翻事後面的內容,如今看,又有了新的感悟,愈加感受到了這本書的perfect!github

完美的代碼是一種幻覺

咱們的大部分程序員文化都創建在完美代碼的理想基礎之上:代碼不只適用,並且乾淨優雅。咱們爲構建困難問題的聰明解決方案而感到自豪。然而,這種完美主義可能會損害團隊的成功,由於完美主義常常致使我的分歧。學習

放開宏偉的願景

對於任何超過幾十行代碼,完美都是旁觀者的眼睛。若是指望每一個人都以徹底同樣的方式解決問題,那麼就錯了。編碼

給予隊友適當的設計和編碼空間。鼓勵你們在設計系統時發揮平等的做用。spa

當隊友編寫與本身喜歡的代碼不一樣的代碼時,不要與他們爭論。要記住,長期保持團隊內健康的工做關係是有價值的。因此也許犧牲我的對質量的見解是能夠的。設計

天天花一些時間對本身的發展技術進行一些我的回顧。想一想天天對本身和團隊的有效性。本月有效的產品可能在下個月再也不有效。隨着團隊重新手到專家的技能不斷增加,這一點尤爲如此,因此請務必不斷探索開始受到傷害的部分,而不是幫助他們。生命週期

學習

考慮本身的改進,分爲兩行:輸入和輸出。這二者對於改進都是必不可少的。開發

  • 輸入get

    有無數得到知識的途徑:文章,書籍,論文,MOOC,對話,實驗,項目文件,願意回答問題的專家的途徑等等。這些和其餘機制的質量和效率各不相同,咱們許多人都以不一樣的方式學習。就我我的而言,我從閱讀軟工類的書籍中學到了不少東西,並在實踐中運用我學到的知識。

  • 輸出

    編寫代碼。聯繫編寫代碼的方法有不少,但我最喜歡的就是經過編寫代碼來鍛鍊編寫代碼。

  • 管理時間

    咱們有無限的時間這是不可能的,咱們必須學會真正有效地管理咱們的時間。每次咱們坐下來學習一些東西時,咱們都必須決定是擴大知識面,仍是深刻挖掘咱們已經熟悉的東西。而後咱們必須決定咱們要處理的兩大類中的哪個。等等。

    當回顧已經完成的事情時,追蹤朝着的大目標遞增的動做多是超級動力。固然,反思所作的事情也讓有機會發現障礙,理解它們,並找出如何去除它們。隨着工做需求和興趣的變化,可能會發現本身的目標會發生變化,所以不時從新審視這些目標也很健康。只是對過於頻繁地轉換目標保持警戒 - 進步須要時間,即便人是以激光爲中心的

  • 尋求別人的幫助

    這裏就要提到提問的智慧了。

保持清潔

不少醜陋的代碼是做者不努力保持清潔的結果。一般狀況下,這是小事情的結果,一個接一個堆積起來,直到達到臨界質量,併爲下一個開發人員帶來痛苦的體驗。當他們第一次出現時,他們很容易照顧,但當無人看管時很難過,並有機會幹燥並粘貼到系統的其餘部分,如舊食物放在盤子上。它是如此容易得多清潔該板(或系統)時,它仍然是「新鮮」。

全部這些應該聽起來很熟悉 - 它被稱爲「重構」,我在這裏講道的是,當本身處於開發功能的中間時,咱們應該積極地尋找重構代碼的機會,而不只僅是在「從新與他們完成。

事實上,讓咱們再來看看,由於「尋求」在這裏彷佛有點輕描淡寫。重構應該是開發生命週期的一個天然部分,這是不斷進行的第二性質的活動,由於它對系統有好處,對後代有好處。

書上講了這麼例子我印象很深:一扇破窗戶吸引了更多破窗戶。骯髒的菜餚也吸引了更多的髒盤子,由於,已經有一個在水槽裏了,因此我會把這個另外一個放在上面。代碼沒有什麼不一樣。糟糕的代碼吸引了糟糕的代碼。

相關文章
相關標籤/搜索