其实这篇文章很早就想写了,一直忙的没有时间,今天总算得空,下面就针对程序员这个职业来说一说我个人的一些想法:
要想做一个在我认为是“合格”的程序员,那么应该要做到以下几点:
- 代码规范,注释清楚
要做一个好的程序员,代码的质量是最重要的,代码是项目过程中最为重要的资源,有很多程序员觉得写注释太麻烦,还会花太多时间,尤其是很多规模比较小的公司,更不会注重这一点,但是往往到了项目后期,乃至项目由他人接手后,维护的成本会变得非常高,代码阅读困难,注释不详细甚至没有,维护人员需要靠自己去猜测某个方法的具体功能。
在这我要说的是,当你习惯了写注释,并且习惯了标准的命名规范后,你会发现后期的维护成本会大大降级,而且在写某个方法时会顺手就将注释写清楚,这根本占用不了多少时间。很多大公司或者说是比较注重效率的公司都会看某个程序员的代码质量,所以养成一个好的编程习惯是非常重要的。
- 不要怕麻烦,偷懒是大忌
在我接触的很多程序员里,我发现偷懒的比较多,有人可能不太明白我说的偷懒是什么意思,举个最简单的例子,当做一个要返回上一页的功能的时候,有些程序员为了偷懒直接用了go(-1),但是殊不知这种用法经常会导致跳转错误,看上去一个不起眼的小问题,但是往往会影响整个系统的质量。为了以完成任务为目标,而不去注重实现的严谨性和实现的合理性,偷工减料,这样的程序员我相信没有一个项目经理会喜欢。
- 代码逻辑要严谨,不能只靠主观判断
在这里我想先举个例子,很多人都会用ajax做get或者post请求,设置返回的类型为json类型,那么在去处理这个json数据的时候大家想到的第一步应该是什么呢,按照我的编码习惯,我会首先去判断该json对象是否为空,然后依次判断需要读取的键值是否存在,只有在存在的情况下才会去调用,同理在后台java代码中,每个对象在被调用之前我都会加上对象是否为空的判断,我想有了这个习惯之后,出现空指针异常的情况会寥寥无几了。有些人会说我知道那个对象肯定不会为空,这里我想说的是软件这个东西有很多是无法预测的,既然能够做到严谨,能够将可能出现的情况都避免掉,那岂不是更好么!
- 做一个有“思想”的程序员
上面说了那么多都是跟编码相关的,那么最后我最想说的,或者说感觉最重要的一点就是我们不能做一个只会写代码的”机器人“,有很多程序员都是只管按照项目经理给定的设计方案去做编码,哪怕这个设计方案是有缺陷的,或者说压根就是不合理的,当项目经理反应过来有缺陷需要改动时,那么你之前开发好的又得去返工,程序员最害怕的是什么,我想大家都清楚,那就是不断的变更需求,变更设计方案,而导致做无用功,写无用代码。
在我前几年做开发的过程中,我每做一个功能时都会去想,这样的设计到底合不合理,这样的逻辑到底对不对,如果不对,那么换成我应该怎么去设计,然后将我的想法反馈给项目经理或者项目总监,大家经过讨论后确定了合理的方案后再进入开发,这样可以大大减少返工的概率。这个时候有人会说了,我们的项目经理或者项目总监、产品总监从来不听我们程序员的想法,那么我只能说抱歉,你跟错人了。
我一直跟我们的程序员灌输着一个理念,项目经理也是人,有时候我们想的不一定是最全面的,在他们开发的过程中可以随时提出自己的想法,我们可以针对每个提议进行会议讨论,进行头脑风暴,来确定最优的方案,这个对程序员能力的提高,对项目的质量都是有极大好处的。
好了,今天就先写到这吧,以上只是个人从事开发以及项目管理七年多的一些个人经验,拿出来给大家分享下,欢迎大家指正!