优秀来自好的习惯。怎样成为优秀的开发人员?图灵公司最近热销的《高效程序员的45个习惯》一书给 出了很好的解答,非常值得一读。
这 本书的英文原版荣获了有软件奥斯卡之称的Jolt生产效率大奖,在Amazon上也是好评如潮。第一作者Venkat Subramaniam博士是Agile Developer公司创始人,敏捷开发方面的权威人士,精通各种开发技术。第二作者Andy Hunt更是大名鼎鼎的人物,是敏捷宣言的创始人,著名图书出版公司Pragmatic Programmers的创始人。他有两本书大家应该都是知道:经典的Ruby教程《Programming Ruby》还有许多开发人员的最爱《程序员修炼之道》。
译者团队则由著名的敏捷咨询公司ThoughtWorks咨询师钱安川和InfoQ中文站敏捷社区首席编辑、《程序员》杂志前 副主编郑柯组成,可以信赖。
值得一提的是,这本书很像《程序员修炼之道》在敏捷时代的续篇。风格和写法都很神似。下面是从书中摘出的45个习惯标题,每个标题下面的文字是我读 此书的笔记摘要。另外,图灵公司还在官方博客上提供了几 个章节免费阅读(下面给出了链接)。
强烈推荐大家将这些打印出来,贴在自己的办公桌旁边的墙上,学习实践。
态度篇
1. 做实事
不要抱怨,发牢骚,指责他人,找出问题所在,想办法解决。对问题和错误,要勇于承担。
2. 欲速则不达
用小聪明、权宜之计解决问题,求快而不顾代码质量,会给项目留下要命的死角。
3. 对事不对人
就事论事,明智、真诚、虚心地讨论问题,提出创新方案。
4. 排除万难,奋勇前进
勇气往往是克服困难的唯一方法。
学习篇
5. 跟踪变化
新技术层出不穷并不可怕。坚持学习新技术,读书,读技术杂志,参加技术活动,与人交流。要多理解新词背后的所以然,把握技术大趋势,将新技术用于产 品开发要谨慎。
6. 对团队投资
打造学习型团队,不断提高兄弟们的平均水平。
7. 懂得丢弃
老的套路和技术,该丢,就得丢。不要固步自封。
8. 打破砂锅问到底
不断追问,真正搞懂问题的本质。为什么?应该成为你的口头禅。
9. 把握开发节奏
控制好时间,养成好习惯,不要加班。
开发流程篇
10. 让客户做决定
让用户在现场,倾听他们的声音,对业务最重要的决策应该让他们说了算。
11. 让设计指导而不是操纵开发
设计是前进的地图,它指引的是方向,而不是目的本身。设计的详略程度应该适当。
12. 合理地使用技术
根据需要而不是其他因素选择技术。对各种技术方案进行严格地追问,真诚面对各种问题。
13. 让应用随时都可以发布
通过善用持续集成和版本管理,你应该随时都能够编译、运行甚至部署应用。
14. 提早集成,频繁集成
集成有风险,要尽早尽量多地集成。
15. 提早实现自动化部署
16. 使用演示获得频繁反馈
17. 使用短迭代,增量发布
18. 固定价格就意味着背叛承诺
估算应该基于实际的工作不断变化。
用户篇
19. 守护天使
自动化单元测试是你的守护天使。
20. 先用它再实现它
测试驱动开发其实是一种设计工具。
21. 不同环境,就有不同问题
要重视多平台问题。
22. 自动验收测试
23. 度量真实的进度
在工作量估算上,不要自欺欺人。
24. 倾听用户的声音
每一声抱怨都隐藏着宝贵的真理。
编程篇
25. 代码要清晰地表达意图(免 费样章链接)
代码是给人读的,不要耍小聪明。
26. 用代码沟通
注释的艺术。
27. 动态地进行取舍(免 费样章链接)
记住,没有最佳解决方案。各种目标不可能面面俱到,关注对用户重要的需求。
28. 增量式编程
写一点代码就构建、测试、重构、休息。让代码干净利落。
29. 尽量简单
宁简勿繁。如果没有充足的理由,就不要使用什么模式、原则和特别的技术。
30. 编写内聚的代码
类和组件应该足够小,任务单一。
31. 告知,不要询问
多用消息传递,少用函数调用。
32. 根据契约进行替换
委托往往优于继承。
调试篇
33. 记录问题解决日志(免 费样章链接)
不要在同一地方摔倒两次。错误是最宝贵的财富。
34. 警告就是错误
忽视编译器的警告可能铸成大错。
35. 对问题各个击破(免 费样章链接)
分而治之是计算机科学中最重要的思想之一。但是,要从设计和原型阶段就考虑各部分应该能够很好地分离。
36. 报告所有的异常
37. 提供有用的错误信息(免 费样章链接)
稍微多花一点心思,出错的时候,将给你带来极大便利。
团队协作篇
38. 定期安排会面时间
常开会,开短会。
39. 架构师必须写代码(免 费样章链接)
不写代码的架构师不是好架构师。好的设计都来自实际编程。编程可以带来深入的理解。
40. 实行代码集体所有制
让开发人员在系统不同区域中不同的模块和任务之间轮岗。
41. 成为指导者
教学相长。分享能提高团队的总体能力。
42. 让大家自己想办法(免 费样章链接)
指引方向,而不是直接提供解决方案。让每个人都有机会在干中学习。
43. 准备好后再共享代码
不要提交无法编译或者没有通过单元测试的代码!
44. 做代码复查
复查对提高代码质量、减少错误极为重要。
45. 及时通报进展与问题(免 费样章链接)
主动通报,不要让别人来问你。
你的成功在于你每天养成的习惯
要成功,就马上准备有所付出吧!这就是每天你应该养成的习惯。
1、不说“不可能”;
2、凡事第一反应: 找方法,不找借口;
3、遇到挫折对自己说声:太好了,机会来了!
4、不说消极的话,不落入消极的情绪,一旦发生立即正面处理;
5、凡事先订立目标;
6、行动前,预先做计划;
7、工作时间,每一分、每一秒做有利于生产的事情;
8、随时用零碎的时间做零碎的事情;
9、守时;
10、写点日记,不要太依靠记忆;
11、随时记录想到的灵感;
12、把重要的观念、方法写下来,随时提示自己;
13、走路比平时快30%,肢体语言健康有力,不懒散、萎靡;
14、每天出门照镜子,给自己一个自信的微笑;
15、每天自我反省一次;
16、每天坚持一次运动;
17、听心跳一分钟,在做重要的事情,疲劳时,紧张时,烦躁时。。。。
18、开会做前排;
19、微笑;
20、用心倾听,不打断对方的话;
21、说话有力,感觉自己的声音能产生感染力的磁场;
22、说话之前,先考虑一下对方的感觉;
23、每天有意识赞美别人三次以上;
24、即使表示感谢,如果别人帮助了你的话;
25、控制住不要让自己作出为自己辩护的第一反应;
26、不用训斥、指责的口吻与别人说话;
27、每天做一件”分外事“;
28、不关任何方面,每天必须至少做一次”进步一点点“,并且有意识的提高;
29、每天提前15分上班,推迟30分下班;
30、每天下班前5分钟做一下今天的整理工作;
31、定期存钱;
32、节俭;
33、时常运用”头脑风暴“,利用脑力激荡提升自己创新能力;
34、恪守诚信;
35、学会原谅。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/flower_ho/archive/2010/03/23/5408387.aspx