你java开发几年还是那么菜是因为你没有做到这些
前言
大家好,我是码农小胖哥。今天聊一聊如何提高自己编码能力。授人与鱼不如授人与渔。这里说的我有点膨胀了。只是分享一下自己的心得和体会,希望对你有用。觉得可以的话点个赞关注一下。
进入java开发之初,我也是菜的抠脚。记得曾经不少次被组里的大佬吐槽的代码。有几次甚至不给面子,当着同事的面吐槽。我是个很爱面子的人,这样当然很不爽。为了这种情况不再发生,决心改变自己。一路走来,也走了不少弯路。不过还是有很大收获的。起码收入和工作不用担心,这个是比较实际的。言归正传下面就简单说一些自己的经历和见闻。如果言辞有些犀利,切莫对号入座。
勿好高骛远要脚踏实地
如果你不知道怎么开始那么就从你自己正在参与的项目开始。我开始也看了一些人的经验。说去看基础和一些源码。但是如果一上来就这么做,道路是非常曲折的。毕竟大佬们的编程思想不是我们这种菜鸡一下就能明白的。所以就从你参与的项目开始好,对组里你认为的大牛的代码进行review。看看为什么人家这么写,换了你自己会怎么写,分析一下差距,当然不要迷信大牛,你也可以找出他这么写的弊端,这样更好。阅读别人的代码多了自然你读码的能力就会熟练很多。间接也提高了你对本项目的业务理解能力,如果有机会很可能接触项目的核心开发。我当时这么做半年时间从一个边缘业务开发进入了核心业务组,当然有运气,运气也是给用心的人准备的,即使没有也不亏啊。
他山之石可以攻玉
如果你坚持上面一段时间相信代码的阅读能力会增强很多。可以尝试阅读一些简单的源码,从jdk的源码挑一些你认为简单易懂的去看。也可以从 apache commons 系列工具类库甚至guava类库去看你常用的工具类的源码,国产的hutool 也不错。一个出色的java程序员,不,任何出色的程序员对常用类库都是了如指掌的。注意!看这些源码就不太一样了,可能会涉及到不少设计模式,期间要通过这些源码学习设计模式。设计模式对程序员是必备的技能。不要面试问你,你只能说出工厂模式,单例模式,这种在我看来是很菜鸡的表现。相信看了这种真正大牛的代码后你的编程思想和编码能力会强很多。
循序渐进
一鼓作气再而衰三而竭。一定要在自己的能力之内从好做的地方开始。上来你就看thinking in java,上来就看spring源码、netty源码 必然会有很大的阻力,而且很大程度影响自己的自信心和持久力。所以由简到难是好的开始,先吃容易消化的。
学以致用
学东西都是用的,如果不用时间长了必然生疏。我去年花了不少业余时间自学了kotlin。因为实际自己用的太少了。现在已经忘记了很多,但是kotlin 还是一门好语言,我个人看好它的潜力。所以你学到的东西如果实际开发中能用得到一定要用,但是一定要确保自己能用好。长期脱离实践,一定会假大空。我面试一些候选人经常遇到这种面试夸夸其谈,一但讨论到落地就哑火或者回答的不够专业的情况。
君子动手不动口
这里其实跟上面学以致用是有区别的。遇到很多同事,经常只是看一些东西,并不去动手去敲去实际模仿。这种都是过眼云烟。俗话说得好,书上得来方觉浅,深知此事要躬行。提高个人编程能力永远都是代码量。上面的几条都是为了代码量服务,高质量的代码量才是提高你实力的保证。没事可以尝试自己造一些轮子,可以从模仿开始。路都是自己一步步走出来的
要有代码洁癖
代码的规范性,可读性,可扩展性也是一个程序员牛不牛的标志。自己编写代码一定要避免有将来看到这段代码的人问候你祖宗十八代的情况。一些良好的开发规范,比如阿里的java开发规范、谷歌的开发规范都是建立在几万人的经验甚至严重的事故的基础之上的。即使时间紧张一定要在不紧张的时间抽出一点点来review自己的代码。
一定要有自己的笔记和代码仓库
实际开发中遇到的问题一定要记录自己的踩坑经历和思路。学习一种新的技术也好记录下来。日常遇到好的代码片段也收集起来,建立自己的代码仓库。可能有的代码就能解决你开发中的问题。我前几日遇到的问题就是我三年前的笔记帮我搞定的,如果没有记录估计要花上两天时间。
形成或者参与一些编程的圈子
所谓的圈子就是一群志同道合或者趣味相投的人的一个集合体。编程很多情况不是你一个人的事情,是一个团队协作的事情。所以参与一些共同爱好兴趣的圈子,分享你的技术心得,对你的眼界、技术、人脉都是有利无害的。程序员找工作很少通过简历都是通过人脉。
扩展知识面
一定要在平时扩展一些编程的知识面,多读一些it资讯。这样你容易抓住一些技术走向,是保证你与时俱进的不二法门。我前几日面试一个11年的java程序员居然不知道docker ,甚至微服务都不清楚。这种人的上升空间非常有限,这种情况下他的年限基本对他帮助不大。要知道这些技术已经不是什么新技术了,埋头只当一个sqlboy是不行的。要学会“喜新厌旧”,甚至走别人没走过的路,很可能你就是一种新技术的布道师。
坚持不懈
这个应该是重要的。不管上面的经验合不合适你。这一条如果做不到就容易失败。只有坚持才能达到或者接近目标。
这就是我这些年的走过的路,相信对一些迷茫中或者刚刚入行而且至于在编程这条路闯荡出一片天地的人会很有帮助和借鉴。如果有问题可以留言讨论,不妨关注我,以后会分享更多的IT心路历程。
相关文章