想与普通程序员不一样,那你付出的努力也要不一样。
想成为高级的程序员,除了有丰富的开发经验外,平时还需要注意以下几点:
1、加强对需求的分析。
需求分析是开发工作的主要入口。
普通程序员,一般是产品经理分配什么任务,就直接开发了。很少去思考需求的合理性。
高级程序员,并不会一开始就去开发,更多会从产品本身出发,为什么要这样做,这样做的目的是什么。判断这个需求是否合理。如果需求不合理,就需要和产品经理进行沟通,产品可能不是技术出身的,可能会考虑不充分,或者在技术层面实现不了,这时候,如果你有更好的想法,也是可以完全提出来,一起沟通,使这个需求更合理。
总之,高级程序员并不会拿到需求后马上就进行开发了,而是从有利于业务的角度出发,思考问题,来判断需求是否合理。这个需求在项目中上下文的作用是什么。
2、加强代码质量
普通程序员,正常拿到需求后,就马上上手去写代码,功能可以实现就可以了。然后就把一个功能方法全写一个函数里。缺少去考虑方法的扩展性。使代码看起来就又长又乱。
高级程序员,在拿到需求时,先分析要实现功能的模块,看看能不能封装多个方法,使代码变得更简洁。看看可以使什么方式来增加效率。
例如:减少if的判断,使用断言抛出异常。操作数据库时,不要放在for里面去查或者修改等。
一个方法最优行数限定在50-80行之间。如果超出了就按操作去拆分多个方法。
3、加强底层的理解
普通程序员,觉得我会用这个技术就可以了。很少会去考虑这个技术背后的原理。
高级程序员,非常清楚自己当年学的那点知识太皮毛了。工作之余也会深入地去研究 Linux、研究网络等方向的底层实现。所有的框架都是从底层一步一步封装过来的。
4、关注全局能力
普通程序员,你分配给我哪个模块,我就干哪个模块,自己所有的眼光都聚集在这个小框框内。
高级程序员是团队内所有项目模块,哪怕不是他负责的,他也会去熟悉,去了解。具备这种思维的同学无论在技术上,无论是在业务上,成长的也都是最快的。在职级上得到晋升,或者是职位上得到提拔的往往都是这类同学。
甚至有更高级别的同学,还不止于把目光放在团队内,甚至还会关注公司内其它团队,甚至是业界的业务和技术栈。写到这里我想起了张一鸣说过的,不给自己的工作设边界。
所以,要有大局观,不仅仅是你负责的模块,整个项目其实你都应该去关注。把整个项目通过自己理解去梳理出来,这样,你在这个项目学到的东西就越多。
你知道的越多,对事情的把控就越有信心。
5、归纳总结能力
平时养成做完事情,总结一下,哪里做得好,哪里做得不好,下次应该怎么做,对业务进行归纳和总结。
在日常自己完成一个功能的时候,觉得函数写得不错,也可以记录下来,分享给别人,促进团队的共同成长。
标签:需求,建议,高级,程序员,普通,开发,模块 From: https://www.cnblogs.com/galenblog/p/17131199.html