做一个“合格”的程序员

其实这篇文章很早就想写了,一直忙的没有时间,今天总算得空,下面就针对程序员这个职业来说一说我个人的一些想法:

要想做一个在我认为是“合格”的程序员,那么应该要做到以下几点:

  • 代码规范,注释清楚

要做一个好的程序员,代码的质量是最重要的,代码是项目过程中最为重要的资源,有很多程序员觉得写注释太麻烦,还会花太多时间,尤其是很多规模比较小的公司,更不会注重这一点,但是往往到了项目后期,乃至项目由他人接手后,维护的成本会变得非常高,代码阅读困难,注释不详细甚至没有,维护人员需要靠自己去猜测某个方法的具体功能。

在这我要说的是,当你习惯了写注释,并且习惯了标准的命名规范后,你会发现后期的维护成本会大大降级,而且在写某个方法时会顺手就将注释写清楚,这根本占用不了多少时间。很多大公司或者说是比较注重效率的公司都会看某个程序员的代码质量,所以养成一个好的编程习惯是非常重要的。

  • 不要怕麻烦,偷懒是大忌

在我接触的很多程序员里,我发现偷懒的比较多,有人可能不太明白我说的偷懒是什么意思,举个最简单的例子,当做一个要返回上一页的功能的时候,有些程序员为了偷懒直接用了go(-1),但是殊不知这种用法经常会导致跳转错误,看上去一个不起眼的小问题,但是往往会影响整个系统的质量。为了以完成任务为目标,而不去注重实现的严谨性和实现的合理性,偷工减料,这样的程序员我相信没有一个项目经理会喜欢。

  • 代码逻辑要严谨,不能只靠主观判断

在这里我想先举个例子,很多人都会用ajax做get或者post请求,设置返回的类型为json类型,那么在去处理这个json数据的时候大家想到的第一步应该是什么呢,按照我的编码习惯,我会首先去判断该json对象是否为空,然后依次判断需要读取的键值是否存在,只有在存在的情况下才会去调用,同理在后台java代码中,每个对象在被调用之前我都会加上对象是否为空的判断,我想有了这个习惯之后,出现空指针异常的情况会寥寥无几了。有些人会说我知道那个对象肯定不会为空,这里我想说的是软件这个东西有很多是无法预测的,既然能够做到严谨,能够将可能出现的情况都避免掉,那岂不是更好么!

  • 做一个有“思想”的程序员

上面说了那么多都是跟编码相关的,那么最后我最想说的,或者说感觉最重要的一点就是我们不能做一个只会写代码的”机器人“,有很多程序员都是只管按照项目经理给定的设计方案去做编码,哪怕这个设计方案是有缺陷的,或者说压根就是不合理的,当项目经理反应过来有缺陷需要改动时,那么你之前开发好的又得去返工,程序员最害怕的是什么,我想大家都清楚,那就是不断的变更需求,变更设计方案,而导致做无用功,写无用代码。

在我前几年做开发的过程中,我每做一个功能时都会去想,这样的设计到底合不合理,这样的逻辑到底对不对,如果不对,那么换成我应该怎么去设计,然后将我的想法反馈给项目经理或者项目总监,大家经过讨论后确定了合理的方案后再进入开发,这样可以大大减少返工的概率。这个时候有人会说了,我们的项目经理或者项目总监、产品总监从来不听我们程序员的想法,那么我只能说抱歉,你跟错人了。

我一直跟我们的程序员灌输着一个理念,项目经理也是人,有时候我们想的不一定是最全面的,在他们开发的过程中可以随时提出自己的想法,我们可以针对每个提议进行会议讨论,进行头脑风暴,来确定最优的方案,这个对程序员能力的提高,对项目的质量都是有极大好处的。

好了,今天就先写到这吧,以上只是个人从事开发以及项目管理七年多的一些个人经验,拿出来给大家分享下,欢迎大家指正!



时间: 2024-10-10 09:15:02

做一个“合格”的程序员的相关文章

如何做一个合格的程序员

不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远.世界上并没有成为高手的捷径,但一些基本原则是可以遵循的. 1. 扎实的基础.数据结构.离散数学.编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序.据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件.程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论.不要一开始就去学OOP,即使你再

我不是一个合格的程序员

(1 )题目解释:我不是一个合格的程序员 -- 开始我想用 "如何成为一个合格/优秀的java程序员"."我不是一个合格的java的程序员 "作为题目:但是感觉分量轻了许多,不能反讽自己目前的状况,也不符合自己现在的心情. (2 )缘由:自己的拙计经历,本科时期,自己连myeclipse如何破解都不会,tomcat配置CATALINA_HOME的原因都不晓得等等:研一的时候,自己连jeclipse中的java.timestampe的jar源代码无法查看都不知道怎么回

一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁

前续 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(一)——地:起因 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁 平行时空 在复制好上面那一行我就先停下来了,算是先占了个位置,虽然我知道大概要怎么写,不过感觉还是很乱. 我突然想到,既然那么纠结,那么混乱,那么不知所措,我们不如换个视角.记得高中时看过的为数不多的长篇小说<穆斯林的葬礼>,作者是:霍达(女),故事描写了两个发生在不同时代.有着不同的内容却又交错扭结的爱情悲剧,一个是“玉”的故事,一个是“月”

如何做一个开心的程序员?

经常有人发帖讨论「怎么做一个成功的程序员」,「如何才能成为一个优秀的程序员」,我并不太同意这些文章中的看法,想在这里我想提出一些我对于程序员这个职业自己的想法. 和标题中写的一样,我的目标不是成为一个优秀或者成功的程序员,我想成为一个开心的程序员.因为程序员是一个工作和生活密不可分的职业只有成为一个开心的程序员,才能过着开心的生活. 我相信那些想让自己或者别人成为优秀的程序员的人的最终目的也是能过上更开心的生活:少一点烦恼,多一点自由做自己想做的事情. 可能大家会不太同意我对开心的生活的定义,这

做一个“懒惰”的程序员

懒惰,算是本人的一大缺点,但是我发现,事物的两面性在懒惰上得到充分体现.懒惰,并非一无是处. 比如,编写脚本. 本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西.二是本人健忘,无法记得冗长的命令. 就拿IPC的代码来讲, IPC代码根目录中,有N多build-XXX.而每一个build-XXX目录下的内容,则完全相似,都有一个set.sh. 这就是编译用的脚本. 随便拿出一个来,其内容大致如下: cmake .. -DCROSS_COMPILE=arm-hisiv100nptl-linu

如何做一个出色的程序员(转)

首先要告诉大家的是要爱这行! 从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破.这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业的一种热情,就很难在困境中保持一种执着的态度坚持到底. 踏踏实实“扎马步” 今天无意中看了“校长”的“程序员&司机”,其中谈到了关于程序员速成的问题.其实速成班毕业的 “系统杀手”早已在遍布大江南北,只是在互联网时代,互联网的应用型软件生命周期越来越短,业务驱动主导的情况下,这种速成方式看起来反而

学习Axure的心得&amp;关于如何做一个优秀的程序员

这些天学习了Axure的一些基础知识,感觉自己就只是刚刚入门,还有好多东西不懂.本想在网上好好地学一些更高的操作,却找不找比较好的学习视频.网上的资料太多,而且质量参差不齐.(视频画面根本就看不清)到后来就找了一些文本资料来看,但还是未能坚持看下去.不过,我看了一些关于程序员的资料. 下面就来说说我的看法. 一 努力刻苦地编程.好的程序员是后天炼成的,是靠一行行代码和一个个算法给喂出来的.因此,只要努力就一定能成为一个优秀的程序员. 二 拥有过硬的技术和本事.要明白,在IT行业,靠的不是关系,地

一个合格的程序员应该读过哪些书

编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的? “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语.以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书. 其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人

一个合格的程序员的编程方式

可能在我们刚刚学习了某一门语言之后,包括HTML或者C.......我们就可以简单的写出一些代码,然后带来我们想要的效果,但是这充其量是程序员的第一个境界,但是后来随着我们知识的增长,我们可能会学习一些面向对象的变成方式例如我们学习了C++ 或者java,这时我们开始学习了大量的类库,这时要是让我们编一段 短小的程序,或者写一个工具类,可能都不在话下了,通常我们在写这一种程序的时候,通常我们我们可能也不想具体的思路,因为程序短小比较简单,遇到一些更聪明的人干脆从网上找一段程序,在自己的IDE上调