阅读完《程序员修炼之道》摘录的概要
-
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 Requirements Issue 使质量成为需求问题
-
Invest Regularly in Your Knowledge Portfolio 定期为你的知识资产投资
-
Critically Analyze What Read and Hear 批判地分析你读到和听到的
-
It's Both What You Say and 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 Lean 为了学习而制作原型
-
Program Close to the Problem domain 靠近问题领域编程
-
Estimate to Avoid Surprise 估算,以避免发生意外
-
Iterate the Schedule with the Code 通过代码对进度表进行迭代
-
Keep Konwledge 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 That Writes Code 编写能编写代码的代码
-
You Can't Write Perfect Software 你不可能写出完美的软件
-
Design with Contracts 通过合约进行设计
-
Crach Early 早崩溃
-
If it Can't Happen,Use Assertions to Ensuer That It Won't 如果它不可能发生,用断言确保它不会发生
-
Use Exceptions for Exceptional Problems 将异常用于异常的问题
-
Finish What You Start 要有始有终
-
Minimize Coupling Between Moudules 使模块之间的耦合减至最少
-
Configure,Don't Integrate 要配置,不要集成
-
Put Abstraction in Code,Details in Metadata 将抽象放进代码,细节放进元数据
-
Analyze Workflow to Improve Concurrency 分析工作流,以改善并发性
-
Design Using Services 用服务进行设计
-
Alwasy 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,or You User Will 测试你的软件,否则你的用户就得测试
-
Don't User Wizard Code You Don't Understand 不要使用你不理解的向导代码
-
Don't Gather Requirements-Dig for Them 不要搜集需求-挖掘它们
-
Work with a User to Think Like a User 与用户一同工作,以像用户一样思考
-
Abstractions Live Longger than Details 抽象比细节活得更长久
-
Use a Project Glossary 使用项目词汇表
-
Don't Think Outside the Box-Find the Box 不要在盒子外面思考-要找到盒子
-
Listen to Nagging Doubts-Start When You're Ready 倾听反复出现的疑惑-等你准备好再开始
-
Some Things Are Better Done than Described 对有些事情“做”胜于描述
-
Don't Be a Slave to Formal Methods 不要做形式方法的奴隶
-
Expensive Tools Do Not Produce Better Designs 昂贵的工具不一定制作出更好的设计
-
Organize Around Functionality,Not Job Functions 围绕功能、而不是工作职务进行组织
-
Don't Use Mannual 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 Users' Expectations 温和地超出用户的期望
-
Sign Your Work 在你的作品上签名
网友评论