2009年1月27日

[讀書筆記] The Pragmatic Programmer (Chapter 8 END)

Chapter 8 - Pragmatic Projects


Section 41: Pragmatic Teams

( 本節以團隊的角度重新走了一遍先前的章節們。)
團隊間的熱情可以互相勉勵,質量由全員貢獻。不要保留破窗、不要被呆呆地煮熟;對內交流熱絡,對外口徑一致。DRY、orthogonality 是值得花費心思分配的事。給予成員們能夠以自己的方式閃耀的空間,但也要知道何時該停下來。


Section 42: Ubiquitous Automation

Don't use manual procedures. 人類的可重覆性並不像機器那麼好,而且手動完成機器就可以完美處理的東西 並不是一件值得誇耀的事。保留自己的時間精力來做更重要、更困難、更有趣的事吧。


Section 43: Ruthless Testing

Test early. Test often. Test automatically. Coding ain't done 'til all the tests run.

測試的範疇:Unit testing → Integration testing → Validation and verification ( 軟體有做它應該完成的事嗎?) → Resource exhaustion / errors ( 如何應變?能否讓軟體復原?) → Performance testing → Usability testing ( 真實環境下實際使用的狀況、手感 )、Regression testing ( code 更新後是否還能通過先前的 test cases?)

Test your testing. Find bugs once.

老樣子:Test your software, or your users will.


Section 44: It's All Writing

好記性不如爛筆頭。 --中國諺語

文檔也是開發中重要的環節。將 code 和 documentation 當成同一 model 的兩種 view。以適當的 comment 寫在 source code 中是一種方法,可以使用自動化工具來提取它。


Section 45: Great Expectations

滿足了客戶的期望,才算是成功。並且,如果想讓客戶高興的話,還得再多做一點點......


Section 46: Pride and Prejudice

防止匿名所造成的品質低落,抑或宣示值得自豪的作品,sign your work.



另有 Quick Reference Guide,是書中觀點精華,值得收藏。



總算讀完了......

整體感覺,就一本 1999 年出版的書來說,所闡述的多樣內容依然歷久彌新。可以想見為何 TPP 會成為這行的經典之一。

書中讓我印象最深刻的一句話,是 Section 38 出現的:

Software development is still not a science.

很奇特的觀點,眼神為之一亮 (。◕‿◕。)

以往我一直覺得程式設計主要鍛練邏輯思考:資料結構、演算法、循序 / 選擇 / 重覆...... 讓人整個條理化起來。加之多年來興起的大批方法論,似乎都愈加將它拉入理科範疇。

而從該句的觀點來看,確實也有另一番道理:畫家在畫布上揮灑,程設師在鍵盤上敲打,同樣都是為了創造、轉化腦海中所想表達的而努力 ( 只是女孩子的傾心程度會不一樣 )。

把自己當成一個隨興不拘的藝術家,貌似也頗不錯 (>ω<)♪♪


我所讀過的書,圈出了我所知道的宇宙邊界。

仔細回想,其實我從中學開始就不曾再大量閱讀了......。接觸電腦之後,所有注意力都從歡樂雜書叢中抽離。到現在還延用十年前所得的知識,以及延途隨手採摘的小花朵,真是相當汗顏啊 (||。3。)

網路確實是很偉大,不過也有比不上實體書的地方。
該是時候重拾書本了......


在這綿延伸展至無窮遠方的道路上,我又多完成了一小段。可喜可賀。

1 則留言:

  1. TITOMBIES.COM - titanium strength for the beginner
    We've created our new titanium steel razor with titanium welder a few tips, including easy titanium sheets use of the titanium 170 welder blade. Its titanium joes weight, length, oakley titanium glasses

    回覆刪除