阅读更多

2顶
0踩

非技术

转载新闻 成为优秀程序员的十个Tips

2015-07-01 15:44 by 副主编 mengyidan1988 评论(0) 有4425人浏览
理解技术债务

技术债务就像信用卡一样,会有很高的利息率,时间越长,修复所花的代价就越大,程序员对这个要有深刻的认识。同时团队应该培养一种保证设计质量的文化,应当鼓励重构、同时也应当鼓励其它有关代码质量的实践,在开发时间中应当专门抽出一部分以解决技术债务。如果没有合适的照料,代码会变得越来越复杂难懂,最后没人想碰它。

保持对原理的好奇心

不仅知道怎么用,还知道是什么原因。比如你做Android, 可以了解一下他的事件分发机制是什么样的,它的Measure/Layout是怎么work的,有时间读一读它的源代码, 看看他的原生控件是怎么实现的. 学iOS,了解一下它的内存管理,autorelease是怎么工作的,runtime是怎么工作的, runloop的原理是什么。做Server开发,可以了解一下Nginx为什么性能好,Redis的工作原理如何,有时间也可以读读其源代码。 做前端,也可以读一读 Angular 或 React 的源代码。

专注

程序员的工作效率可以相差很大,其中区别很大的一点就是是否专注,就像线程切换一样,恢复上下文有很高的代价。建议合理安排好自己的时间,尽量在上午/下午留大块的专注时间来做设计和编程,关掉IM/邮件/微信, 把面试/会议等安排在大块时间之外, 同时也建议可以尝试一下番茄工作法。

同理心

写代码时要有同理心,考虑一个有少量上下文甚至完全不了解上下文的另外一个程序员他会怎么样读这个代码,这样自然就知道怎么写出可读性好的代码,该怎么命名,什么地方该加注释。 考虑以后维护代码的这个人就是你自己,这样在偷懒做一些临时的workaround时就会三思。 交付给测试人员时也要有同理心,有没有做基本的质量保证,有没有跟测试沟通改动可能的影响范围,让测试人员可以更有针对性的测试。

谋定而后动

好的程序员不是拿到需求就开始写代码,而是先考虑清楚。 需求是否合理,是否能解决用户的问题,逻辑上是否有模糊或不完备的地方。 然后考虑设计的问题,流程图是什么样的,类图是什么样的,接口是什么样的,对架构和模块的影响是什么样的,考虑清楚后才开始写代码。

架构思维/全局思维

理解整体架构是什么样的,你开发的模块在架构中的层次,新增的改动会不会对架构有污染,是否需要调整架构,所开发的模块可否抽象成通用模块 或者可否复用已有模块,或则重构已有模块达到可复用目的。

设计语言

掌握适当的设计语言,比如 Plantuml 或 Visio,或者是一些设计模式,知道如何以简单清晰的方式去跟其他程序员描述和沟通你的设计和架构,大家理解一致了,才能更有效率的合作。

追求代码质量

代码质量是程序员的立足之本,在这一点上,要有精益求精的“匠心”。 我看到很多普通程序员做了不少项目后水平提升仍然不明显,无它,对代码质量没有精益求精的精神。 代码规范,健壮性,可读性,可维护性,无重复代码等等,都要精益求精。

代码审查

代码审查是保证代码和工程质量的最有效手段,优秀的公司(比如Facebook, Google)和优秀的团队(比如我们,欢迎关注团队公众号 mtydev)都非常重视代码审查。如果你还不能认识到它的重要性,可以查看这里

自动化

好的程序员都应该有自动化思维和工具思维,都应该会一门脚本语言,有自己的工具库。我们应该通过工具及自动化来改善我们的工作效率,以及避免一些人为的失误。

来自:Jim's blog
来自: Jim's blog
2
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 优秀程序员:从中学习并成为自学成才的程序员的资源集合

    优秀程序员:从中学习并成为自学成才的程序员的资源集合

  • 基本复制应用实例(转)

    基本复制应用实例。[@more@]作者:石骁騑 | 来自:不详 | 点击:253 | 发布:2001-11-8 复制是一种实现数据分布的方法,也就是说把一个系统中的数据通过网络分布到另外一个或者多个地理位置不同的系统中,以适应可...

  • 成为一个优秀程序员的101个小建议

    第一次翻译文章,之所以会想把这篇文章分享给大家,是因为之前群里一个刚入行的新人寻求建议,问学哪个框架好。而我脑海里想到的却是准备个杯子多喝水,搞个好点的椅子保护好腰,多看...

  • 成为伟大程序员的 10 个要点

    当然,这10个要点中的所有内容并不都是完全正儿八经的,有些事情只是我的看法,你的情况可能会有所不同,所以如果出现矛盾的话,不要耿耿于怀。 这些要点是: 1.学习如何提问 提问题的程序员基本上有这些类型:...

  • 101 Tips For Being A Great Programmer (& Human)——101条成为优秀程序员的tips(上)

    分享之前看过的一条Twitter中提到的101条成为优秀程序员的tips 根据自己的理解翻译一下,相信这里面有很多对你有帮助的点。 So, let’s do it! 101 Tips For Being A Great Programmer (& Human) 1. 善于...

  • 成为一名优秀程序员的101个小建议

    点击上方 "程序员小乐"关注公众号,星标或置顶一起成长每天早上8点20分,第一时间与你相约每日英文Love fight, get treasure, Miss for...

  • 成为优秀Java程序员的10个要点

    最近我在接受采访时被问到我关于成为一名...当然,这10个要点中的所有内容并不都是完全正儿八经的,有些事情只是我的看法,你的情况可能会有所不同,所以如果出现矛盾的话,不要耿耿于怀。 这些要点是:1.学习如何提...

  • 101 Tips For Being A Great Programmer (& Human)——101条成为优秀程序员的tips(下)

    继上一篇blog,分享接下来的51条tips 101 Tips For Being A Great Programmer (& Human) 51.杀死汝爱 你编写了一些代码并不意味着你需要眷恋它。没有人愿意抛弃掉他们之前的工作结果,但是代码有他们自己的生命...

  • 成为更加优秀的程序员的10个要点

    下面,我将作为一名有着多年编程经验的专业程序员,分享一些精华——它们已经帮助我提高了我的代码质量和整体的工作效率,希望也能对你有所裨益 。 1.永远不要重复代码 不惜一切代价也要避免重复代码。...

  • 101条成为优秀程序员的建议 总结

    101 Tips For Being A Great Programmer (& Human) 善于利用谷歌搜索 中文搜索使用baidu, 英文搜索使用google, bug使用google 超时承诺和提前交付 为你的任务预留buffer,然后超额交付,建立业务或他人...

  • 如何成为一名优秀的程序员!

    链接地址:icodeit.org/2017/07/tips-for-newbies/ 简单归纳一下,总共有7条: 1、保持健康 2、编程之外的爱好 3、持续学习 4、正确应对犯错 5、不要囿于角色 6、展示你的创意 7、刻意练习手速 保持健康 三寸气在...

  • 【译】成为优秀程序员(和人类)的101个技巧

    作为一个编码者,意味着你需要搜索你问题的答案。通过有效地使用谷歌,你将节省很多开发时间。 2.承诺和交付 最好让你的团队知道一项任务将花费三周的时间,并以两种方式交付的事情。通过给予承诺和过度交付,你将...

  • 成为明星程序员的10个提示

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/10-tips-to-become-star-developerAndrew C. Oliver是Open Software Integrators公司的总裁与创始人,公司主要与一些开源...

  • 优秀程序员的三重境界

    不论出于哪种目的,想要成为一名优秀的IT程序员,你或许永远绕不开以下三重境界: 第一重:以提升自我IT技能为基础 没有过硬的职场技能,没有过身居一线的经历,想要晋升成为一名优秀的程序员,总是显得那么不...

  • (转)如何成为一名优秀的程序员?

    作为一个从业快10年的程序员,我想给新入行的程序员们一些建议。这些建议是我希望自己可以在毕业的时候就读到的,也希望它们可以帮助你成为一个更好的程序员。 简单归纳一下,总共有7条: 保持健康 编程之外的爱好 ...

  • 混合动力无人船上位机.zip

    无人机最强算法源码,易于部署和学习交流使用

  • Swing界面开发和游戏开发.docx

    Swing界面开发和游戏开发.docx

  • xx国际集团母子管控诊断报告(宣讲)gl.ppt

    xx国际集团母子管控诊断报告(宣讲)gl.ppt

Global site tag (gtag.js) - Google Analytics