程序员修炼之道 /Pragmatic Programmer/

1 牢记于心

1.1 Care About Your Craft.

关心你的技艺。写出漂亮的软件

1.2 Think! About Your Work.

思考!你的工作。

1.3 Provide Options, Don't Make Lame Excuses.

提供各种选择,不要找蹩脚的借口

1.4 Don't Live with Broken Windows.

不要容忍破窗户(低劣的设计,错误的决策或是糟糕的代码)。如果没时间修理,那就标注或采用其他方法加以表示。采取方法防止进一步的破坏,并说明情势在你的掌握之中。

尽量保持优雅(设计,代码,决策……),这样后来者也会跟着保持优雅。不要让后来者有弄脏的借口。

1.5 Be a Catalyst for Change.

做变化的催化剂。设计可以合理要求的东西,好好开发,然后让大家大吃一惊,在慢慢地让大家参与进来。参与正在发生的成功要更容易。让人们瞥见未来,你就能让他们聚集在你的身边。

"请求原谅比获取许可更容易" -—Grace Hopper

1.6 Remember the Big Picture.

记住大图景。不要忘了最初的想法。

1.7 Make Quality a Requirements Issue

使质量成为需求问题。让用户参与决定产品是否已经足够好。软件需求是足够好,而不要一味追求更好。所以前期的需求分析非常关键。

1.8 Invest Regularly in Your Knowledge Portfolio

定期为你的知识资产投资。

1.9 Critically Analyze What You Read and Hear

批判地分析你所读到的和听到的。

1.10 It's Both What You Say and the Way You Say It.

你说什么和你怎么说一样重要。

1.11 DRY – Don't Repeat Yourself.

不要重复你自己。谨记!

1.12 Make It Easy to Reuse.

让重复使用变得容易。

1.13 Eliminate Effects Between Unrelated Things.

消除无关事物之间的影响。

1.14 There Are No Final Decisions.

不存在最终决策。

1.15 Use Tracer Bullets to Find the Target.

用曳光弹找到目标。快速,直观和可重复地从需求出发,满足最终系统的某个方面要求。