`

怎样把自己培养成为一个优秀的程序员

阅读更多

态度篇

 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. 及时通报进展与问题:主动通报,不要让别人来问你。

<!-- 翻页 --><!-- TODO 分页显示 -->
分享到:
评论

相关推荐

    程序员羊皮卷 叫你如何成为一名优秀的程序员

    叫你如何做一个程序员,作为一个程序员应该养成怎么样的习惯,应该培养怎么养的编程思想!

    2020年程序员实习报告.doc

    2020年程序员实习报告(1) 实习是一名毕业生提高自己对社会的适应能力和认知能力的一个及其重要过程,在这个 过程中,理论结合实际,把大学学到的知识应用到实践中,让自己迅速适应社会,达到 IT前进的快速步伐的...

    如何成为编程高手的八大奥秘

    本文提供了怎样在学习过程中注意培养自己的某些方面,达到成为一名优秀的程序员的梦想

    程序员的数学1,(日)结城浩著(高清)pdf

    如果数学不好,是否可以成为一名程序员呢?答案是肯定的。 本书最适合:数学糟糕但又想学习编程的你。没有晦涩的公式,只有好玩的数学题。帮你掌握编程所需的“数学思维”。日文版已重印14次!编程的基础是计算机...

    程序员课程大纲

    凭借Sun公司数十年技术和行业经验的积累,针对软件人才培训教育模式和特点,倾力推出Sun-Java(ASEC)国际认证方案与一整套教学资源,及Sun公司经过对国内IT行业需求的长期调研,开发出符合中国院校人才培养模式的...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用Java实现面向对象编程.pdf

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    从毕业生到程序员:使用C#开发商业软件,加书签完整扫描版

    不到一分钟就完成书签制作了。】本书的初衷就是帮助企业建立新人在入职2年多的时间中关于解决职场新人面临的编程技术技能缺乏、软件行业思想、职场规划等很多问题的系统培养理念和制度。因学生在学校里开发的软件是...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统.pdf

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    Java23种设计模式(Patterns in Java)

    Java 提供了丰富的API,同时又有强大的数据库系统...让你自己减少重复性的编程工作),这无疑是成为一个优秀程序员的必备条件. 整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.目标原则是:降低耦合,增强灵活性.

    天梯赛的基本介绍.doc

    经过多年的发展,天梯赛已经成为国内最具影响力和知名度的程序设计竞赛之一,吸引了大量的优秀程序员和算法设计师参与。比赛形式和赛制也在不断更新和改进,以适应行业的发展和变化。 天梯赛通常是由相关组织机构...

    北大青鸟ACCP 6.0 软件开发初级程序员:深入.NET平台和C#编程

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    北大青鸟ACCP 6.0 软件开发初级程序员:优化MySchool数据库设计.pdf

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用JavaScript增强交互效果.pdf

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    北大青鸟ACCP 6.0 软件开发初级程序员:职业修养和进阶项目训练高级篇

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    PHP 编程好习惯,值得学习

    有些人问,优秀程序员和大牛有什么区别,大概有10到20种吧。因为大牛有很好的编程习惯 和丰富的经验,所以他们非常的高效。如果不好的编程习惯出现在你的代码里,你的代码效 率就会降低。本文阐述一些好的编程习惯,...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用Java理解程序逻辑.pdf

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用JSP.Servlet.Ajax技术开发新闻发布系统.pdf

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    Practices of an Agile Developer 中文版 敏捷开发修炼之道

    作为一名程序员,你应该培养怎样的素质,方能对多变的环境应对自如,始终立于不败之地?  本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码...

    北大青鸟ACCP 6.0 软件开发初级程序员:使用HTML语言和CSS开发商业站点

    分术业专攻:基础和思想决定了一个人含金量。要想在软件行业增强发展力,必须着重基础与理论知识。  3.分维度培养:从业务理解、经验积累、规范性、质量控制、团队意识和软件生命周期六个方面进行训练。  4.分...

    Java最新2024学习路线+Java自学全套免费网盘资料

    “模仿”好的编码习惯:比尔盖茨:成为程序员的最佳途径是编写程序并研究其他人编写的优秀程序。 初学者切记:不要贪多,只需要每天把握重点,搞定重点,就是优秀! 行动上: 比方法更重要的是:勤奋!自律! 要求:...

Global site tag (gtag.js) - Google Analytics