`
ariyue
  • 浏览: 345257 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

做个高效程序员

    博客分类:
  • mind
阅读更多
1.理解你的需求
成为一个有效率的程序员首先要知道如何正确的支配自己的时间。对时间最大的浪费莫过于去做那些没有用处或者永远不会上线的项目。而导致这种结果的根源往往是对需求理解的偏差。
要最大程度避免这种情况的发生,最好的办法是快速建模,尽可能让演示系统早点出来。对于客户来说,只有看得到摸得着的产品摆在面前,他们才会有兴趣去试用观察,才会在实际的操作中发现供需双方在需求理解上的偏差。否则即使你写上几百页的需求分析文档也只能是自己的一面之词,客户可没耐心去检查这些文档写的是否准确。
另一方面,你应该让每一个阶段的开发成果都能够尽早的提交给客户。让他们以完全不考虑操作合理性和业务逻辑性的傻瓜级操作来发现程序员编程中的固有思维局限。尤其必须让QA尽早的介入到项目开发中来。如果能够每天提交一份测试版本给QA自然是最理想的了,但大多数项目开发做不到这样的粒度,那么就争取每周提交一份可测试版本。重要的是应该让QA和开发能够保持交错并行状态。只有这样,才能让QA尽早发现bug,降低每个bug的修复成本,同时缩减独立测试周期的跨度。
程序员往往不愿意把半成品代码交付给测试人员,相反他们更喜欢在所有代码都完工,达到自己满意的程度之后再让别人来测试。因为在这之前的代码往往存在很多程序员自己知道需要修改(或者故意留待后续补全)的流程缺失和Bug,测试人员并不知道哪些是真正的Bug,哪些只是临时性的运行错误,每次都会一股脑儿作为Bug反馈给程序员。这往往让程序员们心烦。同时测试人员有时候也不喜欢测试这种很多分支都走不通的中间版本。
但不管喜不喜欢,测试并发现问题是测试人员的工作;程序员则应该认识到,Bug反馈得越早就越是件好事情。QA和开发之间的关系往往很敌对,可实际上双方的目标是一致的。“忠言逆耳”古训有之,对于程序员来说就应该“有则改之,无则加勉”。总好过项目完成之后才发现一堆的问题,到那时候再要做修改,基本上都会牵一发而动全身,痛苦的还是程序员自己。
2.保持真实性
尽可能让你的系统运行在最接近真实环境配置下面,使用有实际意义的数据和真实的编译版本,并经常性进行模块整合。如果你的测试环境使用的数据都是些胡乱添加的东西,那么将来和测试数据大相径庭的真实数据这块大冰山早晚会撞沉你的程序。另一方面如果你只在开发环境来编译运行测试,会发现正式发布之后有各种各样莫名其妙的问题产生,到最后原来都是因为环境配置与开发环境有些不起眼的差异所导致。把所有模块整合进行编译联调,看上去应该是最后作的一项附加工作,但实际上这是一项需要在开发过程中经常性进行的工作。只有这样QA才能有最完整的东西拿来测试,得到更多的Bug反馈,同时降低模块整合的难度。
3.理解你的代码
书写规范的代码,并保持代码的整洁。Coding是一门艺术。正如写作一样,同样的文字在文豪的笔下就能够熠熠生辉,读起来赏心悦目;在普通人的笔下大概就只是词能达意的效果了;在某些人的笔下或许就需要研究半天才能猜出个大概来。当然不可能人人都成为艺术家,但至少你可以学会欣赏艺术、学习艺术。书写漂亮的代码是对自己工作的尊重,也是对其他程序员的尊重。如果你的代码中间充斥着大段过时的注释、可读性差的变量/函数,怎么去要求别人或者自己以后能够理解它们?
4.最优编程
把你的时间花在代码的功能上, 而不是去把现有的代码改得对自己胃口(尤其对于那些copy/paste过来的代码);要找到系统的瓶颈进行优化,而不是对那些无益于系统整体性提高的地方做无用功。
5.管理好你自己
也许有人会说计划和进度控制是PM的事情,但一个好的程序员应该比PM更了解自己目前工作的进度。不论上头给的进度计划是否合理,你都应该有自己的原则和概念,清楚知道每天该做什么怎么去做。
6.持续教育
只有不断的学习、实践、犯错误,你才会真正有所提高。在我看来,对于程序员来说最好的老师不在学校,而在书本、网络、社区。学会自我学习才能保持与时俱进。
7. R-E-S-P-E-C-T
互相尊重是一切的基础。
分享到:
评论

相关推荐

    【高清完整pdf】高效程序员的45个习惯 敏捷开发修炼之道

    本书名为《高效程序员的45个习惯 敏捷开发修炼之道》,由Venkat Subramaniam和Andy Hunt两位作者共同撰写。书中所提到的45个习惯,不仅涉及软件开发过程、编程和调试工作,还包括了开发者的个人态度、项目和团队管理...

    高效程序员的45个习惯英文完整版

    高效程序员的45个习惯 英文完整版 V.Subramaniam, A.Hunt - Practices of an Agile Developer - Working in the Real World. 2006.pdf

    怎么样培养高效程序员

    【高效程序员的培养】是一个重要的主题,涉及到提升软件开发效率和质量的关键因素。Phil Chu 提出的高效程序员的七个习惯是每位IT从业者应当关注和实践的。以下是对这些习惯的详细解析: 1. **理解你的需求**:正确...

    高效程序员的10个习惯

    高效程序员的10个习惯,学习高效的编程方法。

    高效程序员45个习惯

    高效程序员45个习惯,为你的个人拓展提供发展方向

    高效程序员应该养成的七个习惯

    因此,一个高效程序员的成长离不开良好的工作习惯的培养。以下将详细介绍高效程序员应该养成的七个习惯,这些习惯对于程序员的工作效率和质量提升有着至关重要的作用。 首先,理解需求是高效程序员工作的基础。一个...

    高级程序员的45个好习惯

    《高级程序员的45个好习惯》一文,详细列举并解读了这些高效实践,涵盖从敏捷开发到学习态度,再到软件交付、敏捷反馈、编码规范和调试策略等多个方面,旨在为程序员提供一个提升自身能力的指南。 首先,敏捷开发...

    高效程序员的10个习惯,希望对你有所帮助

    标题和描述中提到的“高效程序员的10个习惯”,实际上是在强调软件开发领域中,尤其是敏捷开发过程中,程序员应当遵循的一系列最佳实践和心态。这些习惯不仅有助于提升个人的工作效率,还能增强团队协作,最终确保...

    火币网-郑晔-成为高效程序员.pdf

    火币网-郑晔-成为高效程序员

    如何使用搜索技巧来成为一名高效的程序员

    如何使用搜索技巧来成为一名高效的程序员, 如何使用搜索技巧来成为一名高效的程序员, 如何使用搜索技巧来成为一名高效的程序员。

    高效程序猿的7个共同特征

    Justin James在文章中提出了高效程序员所应具备的七个共同特征,这些特征涵盖了学习态度、工作方法、解决问题的技巧、职业热情、团队合作精神、对技术的深入理解以及个人的进取心。 首先,高效程序员通常具有主动...

    一个优秀的程序员的十个习惯

    成为优秀的程序员不仅在于编写高质量的代码,更重要的是养成一系列有益的习惯,这些习惯能够提升个人技能,促进团队协作,以及保持对技术的...记住,优秀程序员的标志不只是编写代码,更是如何高效、灵活和合作地工作。

    -一个程序员走过的路

    一个优秀的程序员不仅需要具备扎实的编程基础,更需要通过高效算法来优化程序性能,提高资源的利用率。基本的算法知识包括数据结构的选择和实现、排序和搜索算法的应用,以及图、树等复杂数据结构的操作。掌握这些...

    如何高效地在网上找开源项目做!在职程序员实际演示一波视频教程操作

    如何高效地在网上找开源项目做!在职程序员实际演示一波视频教程操作

    高效程序员应该养成的习惯

    要成为一个有效率的程序员要知道些什么?正确的支配自己的时间。。。

    程序员专用 编程输入法

    总的来说,程序员专用的输入法如精灵输入法,是通过提供高效便捷的编码环境,帮助程序员提升工作效率,减少错误,从而更好地投入到软件开发工作中。这样的工具对于经常进行编程工作的人员来说是非常有价值的。

Global site tag (gtag.js) - Google Analytics