新手程序员不知道的小技巧

1.重视架构能力的培养

对于新手程序员而言,最好的培养方式是:写代码前先画好类结构图和代码时序图,这样会让编码能力迅速进步。

用什么工具画?Start uml就挺不错的。

2.debug的能力远比编码能力更重要

把功能实现只是程序员的第一步,甚至是最基础的一步,更多时候,你需要解决各种稀奇古怪的问题。

这个能力不提升,不仅影响工作效率,更无法成为资深工程师,关于如何培养debug能力,旧文也写过一篇:(原创):这才是厉害程序员的标配!

3.定期重构代码

这真的是好习惯,程序员要学会把自己的代码当作「工艺品」而不是「交付物」。

既然是工艺品,那自然要精益求精,有时间就要反复打磨。在不耽误上线周期的前提下,不断做局部重构。

推荐一本书《重构,改善既有代码的设计》,浅显易懂却又发人深省,边读边实践,相信你的代码会越来越优美。

4.写文档的能力非常重要

看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他们的文档写的多么的易懂。

沟通纪要、会议纪要、周报、工作总结、需求文档、总体设计文档、详细设计文档、单元测试文档、测试用例文档、需求变更文档、产品说明书、项目总结文档等等,这些无一不需要实践训练

5.形成自己的变量命名规则

命名规则千千万,但你得选一个固定的套路。不然不仅浪费时间,还影响代码的可读性。而一个好的命名甚至能替代一部分注释的功能。

6.做好封装

始终牢记高内聚、低耦合:一个好的内聚模块应当恰好做一件事,同时尽量减少类和模块之间的耦合关系。

7.把感觉不靠谱的需求放到最后做

原因很简单:可能到时候需求就变了,尤其在小公司打拼的朋友们,这条千万切记,这是提升效率的金手指了!

别问洋哥为什么知道这么多!说出来都是泪…

8.认真对待代码中的warning

它们虽然不致命,但却是精益求精的好机会,很多warning的含义是:你的代码勉强能运行,但有很多优化的地方,比如运行速度、资源开销等等。

9.单元测试很重要

它至少有这几个好处:方便后期重构、优化代码设计、文档记录(单元测试本身即是文档)、具备回归性(随时随地测试)。

10.学会阅读开源代码

最好能运行起来玩一玩,这会让你的编码能力高速质变,洋哥编码能力提升最快的时候,就是疯狂阅读Google chrome源码之际。

11.学会看性能指标、学会性能调优

这是区隔程序员的最好方式之一,学会用数据驱动你的代码,用指标驱动优化方向。

12.千万记得要做数据备份

不然运气不好,死的贼惨,轻则影响涨薪晋升,重则卷铺盖滚蛋。

13.不要怀疑基础常识

比如编译不过怀疑是编译器的问题、用户有bug怀疑是用户操作系统的问题。这种怀疑无非是拖慢了解决问题的速度,毫无其他帮助。

14.不要盲目使用新技术

要先理解透,且了解其他人的使用情况,吃螃蟹这件事不总是好事,也可能会被螃蟹腿卡脖子

15.不要低估了一个好的版本控制系统的威力

记住一点就够了:git是最好的,简单可依赖还免费

16.常学习

IT行业日新月异,不要做过时的程序员,要养成阅读技术书籍的习惯,当然非技术的也可以看看,这份硬核书单可以看看:添加链接描述2020最硬核书单。

除了看书,经常逛逛Github,看看那些优秀的开源工程,时不时关注下自己用的技术栈新技术发展,这些都是学习的方法。

17.用好Google,能力大增

超级程序员=「程序员」+「用好google」。

18.编码的时候只思考同一个思维层次的逻辑

在这层完成之后再思考下一层,层层拆解方能完美解决问题,一旦越层可能把自己都搞晕了。

这也是形成好思维的基本方法论,另外思维本质上是相通的,你能锻炼出一个好的编码思维、架构思维,大概率你也能锻炼出好的管理思维、商业思维。

19.要懂算法,要懂数据结构

编码时要学会使用合适的数据结构和算法,无论是解决实际问题还是优化效率,这点都非常重要。

20.交付代码之前反复自测

这真的是基本功,在很多公司一般都会通过bug提交数和严重性来判断是否严格自测,甚至能影响绩效。

21.如果经常delay,可能是任务还没有拆得足够细

学会拆解-执行-复盘,并且学会掌控拆解颗粒度,对颗粒度的把握和拿捏很重要。

22.遇到代码问题解决后做个小笔记

好记性不如烂笔头,把历史经验沉淀下来,并建立高效索引方式,会让你越工作效率越高。

23.千万别直接拷贝网上的代码

当然,少不了需要借鉴其他人代码的时候,但一定记住:要先理解然后自己写出来。

24.尽量主动推进项目进度

这是你迅速脱颖而出的好方法。

25.主动改Bug

不管是不是自己的Bug,都要主动改,当然如果是别人的,改完后要尽可能让老板知道。

这一条还是防止职场甩锅的好办法,别问洋哥为什么知道!

26.多看官方文档

它们真代表权威和完美细节,看完很多问题自然就不存在了。

27.多学英语

无论是Google还是stackoverflow,又或者各种官方文档,流利的英文阅读,和习惯性英文搜索,能帮你超越90%的程序员。

28.积极防止颈椎病

这东西真的是程序员的职业病,千万小心了!编码1小时,必须站起来走几步,动动脖子,不然过不了多久你就需要一本书:《颈椎病怎么康复》(我已入手…)