1.注重实效的程序员,不仅要完成工作,还要完成的漂亮。
2.关心你的技艺。
3.思考!你的工作。
4.提供各种选择,不要找蹩脚的借口。、
5.不要容忍破窗户。
6.做变化的催化剂。
7.记住大图景。
8.使质量成为需求问题。
9.定期为你的知识资产投资。
9.1每年至少学习一种语言
9.2每季度至少阅读一本技术书籍
9.3也要阅读非技术书籍
9.4上课
9.5参加本地用户组织
9.6实验不用的环境
9.7更上潮流
9.8上网
10.批判的分析你所读到的和听到的。
11.你说什么和你怎么说同样重要。
12.不要重复你自己。
13.让复用变的容易。
14.消除无关事物之间的影响。
15.不存在最终决策。
16.用曳光弹找到目标。
17.为了学习而制作原型。
17.1语言的界限就是一个人的世界的界限。
18.靠近问题领域编程。
19.估算,以避免发生意外。
20.通过代码对进度表进行迭代。
21.用纯文本保存知识。
22.利用命令shell的力量。*Cywin(Bash shell)\UWIN(Korn shell)\Z shell
23.用好一种编辑器。*Emacs \ XEmacs
24.总是使用源码控制。* TSVN
25.要修正问题,而不是发出职责。
26.调试的第一准则:不要恐慌。
27."slect" 没有问题。
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....
58.在你的代码上签名。
书籍:
Analysis Patterns "一个高级架构型模型的宝藏"
Win32 System Service ( Marshall Brian) windows 低级API的简明参考
Programming Windows "Windows GUI 开发的权威书籍"
web:
SlashDot "痴迷者的新闻,重要的资料" www.slashdot.org
Cetus Links "关于面向对象的数千链接" www.cetus-links.org
WikiWikiWeb "对各种想法进行集体编辑" www.c2.com
源码控制工具:
RCS prep.ai.mit.edu
CVS cvshome.org
Aegis "基于事物的配置管理"
ClearCase www.rational.com
MKS "源码完整性" www.mks.com
PVCS "配置管理" www.merant.com
Visual SourceSafe www.microsoft.com
Perforce www.perforce.com
1.数据库代码和用户界面是正交的:你可以改动界面,而不影响数据库;更换数据库,而不用改动界面。