重新再看,似曾相识四个字简直可以说是频繁得一次又一次出现脑海里,每一条提示似乎都是在言说着曾经的正确与不正确。
希望,正确可以愈发多的出现吧。
-
Care About Your Craft 关心你的技艺
-
Think!About Your Work 思考!你的工作
-
Provide Options, Don't Make Lame Excuses 提供各种选择,不要找蹩脚的借口
-
Don't Live with Broken Windows 不要容忍破窗户
-
Be a Catalyst for Change 做变化的催化剂
-
Remember the Big Picture 记住大图景
-
Make Quality a Requirement Issue 使质量成为需求问题。
-
Invest Regularly in Your Knowledge Portfolio 定期为你的知识资产投资
-
Critically Analyze What You Read and Hear 批判地分析你读到的和听到的。
-
It's Both What You Say and the Way You Say It 你说什么和你怎么做同等重要
-
DRY---Don't Repeat Yourself 不要重复你自己。
-
Make It Easy to Reuse 让复用变得容易。
-
Eliminate Effects Between Unrelated Things 消除无关事物之间的影响
-
There Are No Final Decisions 不存在最终的决定
-
Use Tracer Bullets to Find the Target 用曳光弹找到目标
-
Prototype to Learn 为了学习而制作原型
-
Program Close to the Problem Domain 靠近问题编程
-
Estimate to Avoid Surprises 估算,以避免发生意外
-
Iterate the Schedule with the Code 通过代码对进度进行迭代
-
Keep Knowledge in Plain Text 使用纯文本保存知识
-
Use the Power of Command Shells 利用命令shell的力量
-
Use a single Editor well 用好一种编辑器
-
Always Use Source Code Control 总是使用源码控制
-
Fix the Problem,Not the Blame 要修正问题,而不是发出指责
-
Don't Panic 不要惊慌
-
"Select"Isn't Broken “Select”没有问题
-
Don't Assume it - Prove it 不要假定,要证明。
-
Learn a Text Manipulation language 学习一种文本操纵语言
-
Write Code the Writes Code 编写能编写代码的代码。
-
You Can't Write Perfect Software 你不可能写出完美的软件
-
Design with Contracts 通过合约进行设计
-
Crash Early 早崩溃
-
If It Can't Happen, Use Assertions to Ensure That It won't 如果它不可能发生,用断言确保它不会发生
-
Use Exceptions for Exceptional Problems 将异常用于异常的问题
-
Finish What You Start 要有始有终
-
Minimize Coupling Between Modules 使模块之间的耦合减至最少
-
Configure, Don't Integrate 要配置,不要集成
-
Put Abstractions in Code ,Details in Metadata 将抽象放进代码,细节放进元数据
-
Analyze Workflow to Improve Concurrency 分析工作流,以改善并发性
-
Design Using Services 用服务进行设计
-
Always Design for Concurrency 总是为并发进行设计
-
Separate Views from Models 使视图与模型分离
-
Use BlackBoards to Coordinate Workflow用黑板协调工作流
-
Don't Program by Coincidence 不要靠巧合编程
-
Estimate the Order of Your Algorithms 估算你的算法的阶
-
Test Your Estimates 测试你的估算
-
Refactor Early,Refactor Often 早重构,常重构
-
Design to Test 为测试而设计
-
Test Your Software,ou Your Users Will 测试你的软件,否则你的用户就得测试
-
Don't Use Wizard Code You Don't Understand 不要使用你不理解的向导代码
-
Don't Gather Requirements - Dig for Them 不要搜集需求——挖掘它们
-
Work with a User to Think Like a User 与用户一同工作,以像用户一样思考
-
Abstractions Live Longer than Details 抽象比细节活得更长久
-
Use a Project Glossary 使用项目词汇表
-
Don't Think Outside the Box-Find the Box 不要在盒子外思考——要找到盒子
-
Listen to Nagging Doubts - Start What You're Ready 倾听反复出现的疑虑——等你准备好再开始
-
Same Things Are better Done than Described 对有些事情“做”胜于“描述”
-
Don't be Slave to Formal Methods 不要做形象方式的奴隶
-
Expensive Tools Do Not Produce Better Designs 昂贵的工具不一定能制作出更好的设计
-
Organize Around Functionality, Not Job Functions 围绕功能、而不是工作职务进行组织
-
Don't Use Manual Procedures 不要使用手工流程
-
Test Early.Test Often.Test Automatically. 早测试,常测试,自动测试。
-
Coding Ain't Done 'Til All the Tests Run 要到通过全部测试,编码才算完成
-
Use Saboteurs to Test Your Testing 通过“蓄意破坏”测试你的测试
-
Test State Coverage,Not Code Coverage 测试状态覆盖,而不是代码覆盖
-
Find Bugs Once 一个bug只爪一次
-
Treat English as Just Another Programming language 把英语当成又一种编程语言
-
Build Documentation In ,Don't Bolt It On 把文档建在里面,不要栓在外面
-
Gently Exceed Your User's Expectations 温和地超出用户的期望
-
Sign Your Work 在你的作品上签名