天天看點

讀《高效程式員的45個習慣:靈活開發修煉之道》筆記

延伸閱讀清單(書):

靈活軟體開發:原則、模式與實踐  http://book.douban.com/subject/2347793/  現在能買到清華老版,人郵新版有C#注釋版。

程式員修煉之道  http://book.douban.com/subject/1152111/  http://book.douban.com/subject/1119873/  影印版買不到了,劉江說譯本翻譯得不錯。

項目管理修煉之道  http://book.douban.com/subject/4058336/  購買。

項目自動化之道  http://book.douban.com/subject/1449002/  網店全面缺貨。

Agile and Iterative Development: A manager's Guide  http://book.douban.com/subject/1801394/  影印版買不到了,電子工業的譯本。

My Job Went to India: 52 Ways to Save Your Job  http://wenku.baidu.com/view/946033a20029bd64783e2cb7.html

Passionate Programmer  http://book.douban.com/subject/3729539/

解析極限程式設計  http://book.douban.com/subject/1127939/  http://book.douban.com/subject/1790225/

Ship It!  http://book.douban.com/subject/1433491/

Behind Closed Doors  http://book.douban.com/subject/1433489/

延伸閱讀清單(文章、連結):

http://blogs.pragprog.com/cgi-bin/progdave.cgi/Random/FishBowl.rdoc  在Dave Thomas的部落格上沒有找到FishBowl這篇。

Is Design Dead?  www.martinfowler.com/articles/designDead.html

Continuous Integration  www.martinfowler.com/articles/continuousIntegration.html

xprogramming.com/software.htm

The Paperboy, The Wallet, and The Law Of Demeter  www.javaguy.org/papers/demeter.pdf

Who Needs an Architect?  http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

Information Radiator  c2.com/cgi-bin/wiki?InformationRadiator

Agile Developer下載下傳頁面  http://www.agiledeveloper.com/download.aspx

Andy的部落格  http://toolshed.com/blog

Anthill,控制建構過程的工具  http://www.urbancode.com/projects/anthill/default.jsp

Damage Control,用Ruby on Rails編寫的持續內建工具  http://dev.buildpatterns.com/trac/wiki/DamageControl

Dependency Inversion  http://c2.com/cgi/wiki?DependencyInversionPrinciple

Principles of Object Oriented Design  http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign

Ted Neward對架構的讨論  http://www.neward.net/ted/weblog/index.jsp?date=20041003#1096871640048

Open Closed Principle  http://objectmentor.com/resources/articles/ocp.pdf

Open Closed Principle  http://c2.com/cgi/wiki?OpenClosedPrinciple

Single Responsibility Principle  http://c2.com/cgi-bin/wiki?SingleResponsibilityPrinciple

Capers Jones對250個軟體項目成敗的分析  http://www.stsc.hill.af.mil/crosstalk/2004/10/0410Jones.html

Test Driven Development  http://c2.com/cgi/wiki?TestDrivenDevelopment

the end of software engineering  http://alistair.cockburn.us/crystal/articles/eoseatsoecg/theendofsoftwareengineering

Why Your Code Sucks  http://www.artima.com/weblogs/viewpost.jsp?thread=71730

You Arent Gonna Need It  http://c2.com/cgi/wiki?YouArentGonnaNeedIt

摘抄:

回報是靈活的基礎,要不斷地使用回報進行自我調整和完善;同時,要先解決困難的問題,把簡單的問題留到最後。

讓我們驕傲的應該是解決了問題,而不是比較出誰的主意更好。

記錄客戶做出的決定,并注明原因。可以使用工程師的工作日志,wiki,郵件或問題跟蹤資料庫。

“為什麼”是一個非常好的問題。了解一個問題的時候,需要漸次問5個以上的“為什麼”。不能隻滿足于别人告訴你的表面現象,要不停地提問直到你明白問題的根源。

找人詢問任何相關的問題時,讓他們耐心地回答你的問題,這是你的職責。

方案的花費不應該高于要解決的問題,否則就是一次失敗的投資。

新技術就應該像是新的工具,可以幫助你更好地工作,它自己不應該成為你的工作。

Checked-in code is always ready for action.

送出檔案應該與一個特定的任務或是一個bug的解決相關。而且應該是同時送出相關的檔案。

錯誤:

P101 L19 coffeeShop.PlaceOrder(CoffeeCupSize.Largxe); -> coffeeShop.PlaceOrder(CoffeeCupSize.Large);

繼續閱讀