优秀来自好的习惯。怎样成为优秀的开发人员?图灵公司最近热销的《高效程序员的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. 及时通报进展与问题。主动通报,不要让别人来问你。
|
相关推荐
【优秀程序员45个习惯】是一本旨在提升程序员专业素养的书籍,由敏捷开发领域的权威Venkat Subramaniam和Andy Hunt共同撰写。这45个习惯覆盖了态度、学习、开发流程、用户、编程以及团队协作等多个方面,旨在帮助...
【优秀程序员的十个习惯】 1. 持续学习与跟进新技术:作为优秀程序员,保持对新知识的渴望至关重要。不断学习新的编程语言、框架和工具,关注行业动态,参与专业社区讨论,如CSDN、ITPUB、CHINAUNIX、digg.com等,...
以下是对标题和描述中提到的十个程序员习惯的详细解释: 1. **学无止境**:持续学习是优秀程序员的基石。随着技术的快速发展,必须不断关注新出现的语言、框架和编程实践,通过阅读专业文章、参加在线讨论和社区...
优秀程序员的45个习惯.rar ok good
优秀程序员的好习惯共2页.pdf.zip
标题中的“程序员的45个良好习惯”是一个旨在提升编程技能和团队协作效率的指南,描述强调了通过培养良好的习惯来提高自身编程水平,成为优秀的程序员。这些习惯涵盖了态度、学习、开发流程、用户、编程、调试和团队...
Read)列出了多达一百条准则,旨在帮助读者全面掌握成为优秀程序员所需的知识和技能。本文将基于原文的标题、描述和部分内容,深入解析其中的关键知识点,以助于广大编程爱好者更好地提升自我。 ### 个人技能篇 #...
### 高效程序员的10个习惯 #### 一、对事不对人 在软件开发过程中,团队成员之间经常会因为设计方案、...以上十个习惯不仅能够提升程序员个人的工作效率,还能够加强团队之间的协作与沟通,最终推动项目的成功完成。
老刘心语#16优秀程序员的五大习惯!同学,你拥有几个了?
【Java优秀程序员编程规范】 Java编程规范是提升代码质量、可读性和维护性的关键,它指导程序员编写清晰、一致且易于理解的代码。遵循规范能够提高团队协作效率,减少后期维护的成本,也是专业程序员的基本素养。 ...
"成为优秀程序员的 101 个技巧" 本资源为程序员提供了 101 条实用的技巧,从搜索问题答案到编写有用的注释,从承诺不足到超额交付,从寻找导师到成为导师,从适当命名变量到删除不用的代码,从学习阅读代码到建立...
- **声明规则**: 源文件最多只能有一个公共类,包语句必须位于第一行,导入语句在类声明前。 ### Java垃圾回收机制 - **垃圾回收**: `System.gc()`建议语句,但无法强制执行垃圾回收。 ### Java输入处理 - **...
叫你如何做一个程序员,作为一个程序员应该养成怎么样的习惯,应该培养怎么养的编程思想!
### 作一个真正合格程序员的七种素质 在IT行业中,成为一名合格的程序员不仅需要扎实的技术基础,还需要一系列软技能和个人素质。以下是成为一名真正合格程序员所必备的七种关键素质。 #### 1. 团队精神和协作能力...
【六分钟八法则塑造优秀程序员】是一篇...重要的是,这些方法强调了代码的可读性、可维护性和良好的编程习惯,这些都是成为一个优秀程序员的关键要素。持续实践这些法则,结合个人经验,程序员的技能将得到显著提升。
程序员编程好习惯总结 程序员在编程过程中需要遵循一些良好的习惯,以提高代码质量、提高工作效率和降低错误率。本文总结了15条程序员编程的好习惯,涵盖了编程设计、代码编写、版本控制、代码优化、代码维护等方面...
### 优秀程序员应知的关键素质 #### 一、踏实的工作态度 成为一名优秀的程序员,首先要有踏实的工作态度。这意味着在工作中需要做到低承诺、高实现。具体来说,就是在承诺任务完成的时间和质量时要保守估计,确保...
1. **避免过度使用继承**:优秀程序员明白,虽然继承是面向对象设计的一个基本元素,但它可能导致长期的维护难题。继承会限制代码的重用性和可测试性。他们倾向于采用组件化和接口设计,以提高灵活性和模块化。 2. ...