要成为优秀的工程师从来就不是简单地事情,达内培训专家在这里整理了七条,希望对大家有所帮助!
理解技术债务
技术债务就像信用卡一样,会有很高的利息率,时间越长,修复所花的代价就越大,程序员对这个要有深刻的认识。同时团队应该培养一种保证设计质量的文化,应当鼓励重构、同时也应当鼓励其它有关代码质量的实践,在开发时间中应当专门抽出一部分以解决技术债务。如果没有合适的照料,代码会变得越来越复杂难懂,最后没人想碰它。
保持对原理的好奇心
不仅知道怎么用,还知道是什么原因。比如你做Android,可以了解一下他的事件分发机制是什么样的,它的Measure/Layout是怎么work的,有时间读一读它的源代码,看看他的原生控件是怎么实现的。学iOS,了解一下它的内存管理,autorelease是怎么工作的,runtime是怎么工作的,runloop的原理是什么。做Server开发,可以了解一下Nginx为什么性能好,Redis的工作原理如何,有时间也可以读读其源代码。做前端,也可以读一读Angular或React的源代码。
专注
程序员的工作效率可以相差很大,其中区别很大的一点就是是否专注,就像线程切换一样,恢复上下文有很高的代价。建议合理安排好自己的时间,尽量在上午/下午留大块的专注时间来做设计和编程,关掉IM/邮件/微信,把面试/会议等安排在大块时间之外,同时也建议可以尝试一下番茄工作法。
同理心
写代码时要有同理心,考虑一个有少量上下文甚至完全不了解上下文的另外一个程序员他会怎么样读这个代码,这样自然就知道怎么写出可读性好的代码,该怎么命名,什么地方该加注释。考虑以后维护代码的这个人就是你自己,这样在偷懒做一些临时的workaround时就会三思。交付给测试人员时也要有同理心,有没有做基本的质量保证,有没有跟测试沟通改动可能的影响范围,让测试人员可以更有针对性的测试。
设计语言
掌握适当的设计语言,比如Plantuml或Visio,或者是一些设计模式,知道如何以简单清晰的方式去跟其他程序员描述和沟通你的设计和架构,大家理解一致了,才能更有效率的合作。
追求代码质量
代码质量是程序员的立足之本,在这一点上,要有精益求精的“匠心”。我看到很多普通程序员做了不少项目后水平提升仍然不明显,无它,对代码质量没有精益求精的精神。代码规范,健壮性,可读性,可维护性,无重复代码等等,都要精益求精。
自动化
好的程序员都应该有自动化思维和工具思维,都应该会一门脚本语言,有自己的工具库。我们应该通过工具及自动化来改善我们的工作效率,以及避免一些人为的失误。