在所有弱点中,最大的弱点就是害怕暴露弱点。 J.B.Bossuet,Politics from Holy Writ. 1709
提示3
Provide Options,Don't Make Lame Excuses.
提供各种选择,不要找蹩脚的借口。
提示4
Don't Live With Broken Window.
不要容忍破窗
不要留着“破窗户”(低劣的设计、错误决策或是糟糕的代码)不修。发现一个就修一个,如果没有足够的时间进行适当的修理,就用模板把它们钉起来。
提示5
Be a Catalyst for Change
做变化的催化剂
设计出你可以合理要求的东西,好好开发它。一旦完成,就拿出来给大家看,让他们大吃一惊。
提示6
Remember the Big Picture.
记住大图景
留心大图景。要持续不断地观察周围发生的事情,而不只是你自己在做的事情。
提示7
Invest Regularly in Your Knowledge Portfolio.
定期为你的知识资产投资
- 定期投资
- 多元化。不知道的不同的事情越多,你就越有价值。掌握的技术越多,就越能更好地调整。
- 管理风险。不要把所有的技术鸡蛋放在一个篮子里。
- 重现评估和平衡。
提示11
Don't Repaet Yourself.
不要重复你自己
重复范畴:
- 强加的重复(imposed duplication)。开发者觉得他们无可选择--环境似乎要求重复。
- 五一的重复(inadvertent duplication)。开发者没有意识到他们在重复信息。
- 无耐性的重复(impatient duplication)。开发者偷懒,他们重复,因为那样似乎更容易。
- 开发者之间的重复(interdeveloper duplication)。统一团队(或不同团队)的几个人重复了同样的信息。
提示13
Eliminate Effects Between Unrelated Things
消除无关事物之间的影像
正交性
如果两条直线相交成直角,它们就是正交的。每条线的延展,并不会影像其他线,这种不依赖性,就是计算机的解耦性。
提示14
There Are No Final Decisions
不存在最终决策
需求是变化的,代码需要灵活性,即使最后上线一刻说不上线,代码也可撤销和回退
提示 30
You Can't Write Perfect Software.
你不可能写出完美的软件
提示 36
Minimize Coupling Between Modules.
使模块之间的耦合减至最少
提示37
Configure, Don't Integrate.
要配置,不要集成
让我们的系统变得高度可配置。无论是程序开发还是产品设计,可配置性是一个程序和产品能适应不同环境和场景的基础。
提示 38
Put Abstractions in Code,Detail in Metadata.
将抽象代码放进代码,细节放进元数据
提示51
Don't Gather Requireents-Dig for Them
不要收集需求--挖掘它们
提示52
Work with a User to Think Like a User
与用于一同工作,像用户一样思考
提示 63
Coding Ain't Done 'Til All the Tests Run
要通过全部测试,编码才算完成
提示 69
Gently Exceed Your User's Expections
温和地超出用户的期望