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

天使不哭 天使不哭     2022-09-15     739

关键词:

技术分享

 

1、理解技术债务

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

2、保持对原理的好奇心

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

3、专注

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

4、同理心

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

5、谋定而后动

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

6、架构思维/全局思维

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

7、设计语言

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

8、追求代码质量

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

9、代码审查

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

10、自动化

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

欢迎关注我的公众号(同步更新文章)DoNet技术分享平台

阅读原文

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

...://icodeit.org/2017/07/tips-for-newbies/ 作为一个从业快10年的程序员,我想给新入行的程序员们一些建议。这些建议是我希望自己可以在毕业的时候就读到的,也希望它们可以帮助你成为一个更好的程序员。简单归纳一下,总共有7... 查看详情

如何才能成为一名优秀的架构师

对于工作多年的程序员而言,日后的职业发展无非是继续专精技术、转型管理和晋升架构师三种选择。那么程序员如何才能晋升为优秀的高薪架构师?  优秀架构师需要具备怎样的素质 担任全栈技术架构师三年的刘先... 查看详情

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

...的伏案工作等都会对健康造成很大的影响,而不幸的是,程序员这几样全都占了。很多程序员 查看详情

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

...议吧,在这里感谢原作者的分享。作为一个从业快10年的程序员,我想给新入行的程序员们一些建议。这些建议是我希望自己可以在毕业的时候就读到的,也希望它们可以帮助你成为一个更好的程序员。简单归纳一下,总共有7条... 查看详情

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

...会有很高的利息率,时间越长,修复所花的代价就越大,程序员对这个要有深刻的认识。同时团队应该培养一种保证设计质量的文化,应当鼓励重构、同时也应当鼓励其它有关代码质量的实践,在开发时间中应当专门抽出一部分... 查看详情

如何成为一名优秀的软件架构师

...个架构师和如何成为一个架构师呢?这是许多企业、许多程序员朋友希望知道的或希望参与讨论的话题内容。所谓架构师通俗的说就是设计师 查看详情

初学者成为优秀java程序员的8个步骤

...问小千,如何从一名零基础初学者成为一名优秀的Java程序员。其实,小千见证了很多人从一名初学者逐步成长为一名优秀的Java开发工程师,他们或多或少都具有一些特征。下面,小千就给大家分享成为优秀Java程... 查看详情

text是什么让你成为一名优秀的程序员?(代码片段)

查看详情

如何通过自学成为一名优秀的android开发工程师?

...有相当一部分的开发者都不是科班出生的。尤其是Android程序员,基本上都是自学的,能在大学里接受正规系统的Android开发学习是很难的,很少有学校会专门教这个。(以上都是我的个人经验,不知道现在的大... 查看详情

如何通过自学成为一名优秀的android开发工程师?

...有相当一部分的开发者都不是科班出生的。尤其是Android程序员,基本上都是自学的,能在大学里接受正规系统的Android开发学习是很难的,很少有学校会专门教这个。(以上都是我的个人经验,不知道现在的大... 查看详情

如何成为一名糟糕的程序员?

今天我想和你聊一聊优秀程序员的基本素养。我想你肯定遇到过这样一类程序员:他们无论是写代码,还是写文档,又或是和别人沟通,都显得特别专业。每次遇到这类人,我都在想,他们到底是怎么做到... 查看详情

如何成为一名糟糕的程序员?

今天我想和你聊一聊优秀程序员的基本素养。我想你肯定遇到过这样一类程序员:他们无论是写代码,还是写文档,又或是和别人沟通,都显得特别专业。每次遇到这类人,我都在想,他们到底是怎么做到... 查看详情

如何成为一名优秀的电气设计工程师?

首先我自己作为一名电气设计工程师,我觉得想要成为一名优秀的电气设计工程师不是一朝一夕就能做到的事情,迄今为止我在这个行业混了有七、八年了,但是我并不觉得我已经成为优秀的电气设计师了,只能... 查看详情

施一公:如何成为一名优秀的博士生?

...,研究生新生已开始陆续开学,很多同学问:如何成为一名优秀的博士生?对这个问题,施一公院士曾进行深入 查看详情

施一公:如何成为一名优秀的博士生?

...,研究生新生已开始陆续开学,很多同学问:如何成为一名优秀的博士生?对这个问题,施一公院士曾进行深入 查看详情

如何成为优秀的ui设计师?

从事ui设计工作,我们都希望自己能成为一名优秀的ui设计师,那优秀ui设计是需要具备哪些核心技术呢,下面小编就和大家一起来扒一扒。 优秀的UI设计师必备的四大核心技术,具备了这四点,你才有资格成为优秀的UI设计师了... 查看详情

如何成为一名优秀的工程师?顶级程序员的5点建议

一位工程师,如何才能称得上优秀?除了写得一手好Code,什么样的工作态度和方法才是一个优秀工程师的必备?今天给大家分享百度前COO、计算机科学博士及优秀的管理者陆奇,他提到的这5点要求,相信对每个工程师都适用。1... 查看详情

如何成为一名优秀的web前端工程师(代码片段)

何为:前端工程师?前端工程师,也叫Web前端开发工程师。他是随着web发展,细分出来的行业。Web前端开发技术主要包括三个要素:HTML、CSS和JavaScript!它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、S... 查看详情