注重实效的程序员
1. 负责 积极想办法,不要找借口
2. 软件的熵 编写整洁,涉及良好,优雅
做变化的催化剂
记住大图景
使质量成为需求问题
知道何时止步
5. 定期投资 多元化 管理风险 低买高卖 重新评估和平衡
目标
每年至少学习一种语言 smalltalk Squeak
每季度至少阅读一本技术书籍
也要阅读非技术书籍
上课 上网 新闻论文 实验不同的环境 跟上潮流
学习的机会
批判的思考
表示感谢
交流
知道你想要说什么
了解你的听众
选择时机
选择风格
让文档美观
让听众参与
做倾听者
回复他人
注重实效的途径
7. DRY 不要重复你自己
让重复变的容易
消除无关事物之间的影响
让你的代码保持解耦
避免使用全局数据
避免编写相似的函数
不存在最终决策
在黑暗中发光的代码
16. 为了学习而制作原型
17. 靠近问题领域编程
18. 估算以避免发生意外
19.通过代码对进度表进行迭代
20.用纯文本保存知识
21.利用命令shell的力量
22.用一种好的编译器
23.总是使用源码控制 eg svn
24.要修正问题而不是发出指责
25.不要恐慌
26.Select 没有问题
27.不要假定,要证明
28.学习一种文本操纵语言
29.编写能编写代码的代码
30.你不可能写出玩美的软件
31.通过合约进行设计
32.早崩溃
33.如果他不可能发生,用断言确保他不会发生
34.将异常用于异常的问题
35.要有始有终
36.使模块之间的耦合减至最少
37.要配置,不要集成
38.把抽象放进代码,细节放进元数据
39.分析工作流,以改善并发性
40.用服务进行设计
41.总是为并发进行设计
42.使视图与模型分离
43.用黑板协调工作流
44.不要靠巧合编程
45.估算你的算法的阶
46.测试你的估算
47.早重构,常重构(重新设计)
48.为测试而设计
49.测试你的软件
50.不要使用你不理解的向导代码
在项目开始前
51.不要搜集需求---挖掘他们
52.与用户一同工作,以像用户一样思考
53.抽象比细节活的更长久
54.使用项目词汇表
55.不要在盒子外面考虑要找到盒子
56.倾听反复出现的疑虑,等你准备好在开始
57.不要做形式方法的奴隶
59.昂贵的工具不一定能制作出更好的设计
60.围绕功能而不是工作职务进行组织
61.不要使用手工流程,一切都要自动化
62,早测试,常测试,自动测试
63.要通过全部测试,编码才算完成
64.通过蓄意破坏测试你的系统
65.测试状态覆盖而不是代码覆盖
66.一个bug只抓一次
67.把英文当做一种编程语言
68.把文档建在里面不要挂在外面
70.在你的作品上签名