目前咱们程序员客栈www.proginn.com全部的开发者都是通过实名认证签约的,可是就算这样仍是有不少开发者,在开发过程当中表现出做为一名程序员不合格的地方,这些人咱们发现后就会取消签约,下面以我我的的经验,糟糕的程序员具备如下这些特质:程序员
1,Stack Overflow机器人:这种人遇到问题时,会灵活地使用Google搜寻,并采用所找到的第一个结果(按:好的答案一般在Stack Overflow上)。数据库
问题不在于从Stack Overflow上抄答案回来用,由于Stack Overflow上面的数据确实比多数官方手册来的丰富与完整。因此请不要误会个人意思,上网找答案就算不是最棒的途径也属上上策。问题在于不加理解就机械化地采用网络上的答案,甚至也无论适不适用于本身的问题。许多人竟然会以为论坛上的说法比他们眼前的代码更可靠。网络
2,我不是测试人员:我不须要测试本身的代码,那是测试人员的工做。学习
我不认为这种态度在这个敏捷开发方法成熟的时代已经形式渐微。仍是有一些缘由形成他们不肯改变习惯去测试本身的代码。其中一部分来自于对设定测试环境没有兴趣,另外一部分是对测试这门学问没有通盘的认识。(还有一部分是开发人员社群对测试人员存有不便明说的轻蔑。)测试
3,讨厌手册:有些人好像认为手册必需要压韵,而他们没有那种文学素养,因此那天然不会是他们的工做。blog
一点浅见:这是活跃的程序计划的头号敌人。好的程序不是那种酷炫功能多如繁星的,而是那种具有一些多数人须要的好功能且代码持续被许多开发人员阅读、修改和更新的。这类不喜欢技术交流和精确、详尽的手册的开发人员,是公司迈向成功的最大阻力。开发
4,代码很丑:个人代码能够跑,可是:产品
我喜欢为变数取名叫x、flag、str、arr等等。效率
我绝大多数的代码都集中在一个很长很长的函式里。重构
没有缩排。
没有一致的风格和规则。
处处都是全局变数。
这一项是最令我困扰的。也不是说程序写得很差啦,这里面仍是有可能会有超猛的代码。但我打个比方,若是一串钻石项炼挂在像酷斯拉那么大的超巨型恶心怪虫的尸体上被埋葬于地底,就不再会有人找到它了。就算被找到,也不会有人想要清理它甚或戴上它。
5,短线投机客:他会不断地写出程序给你,可是不会尝试深刻了解问题,对程序应用领域的背景知识也全无兴趣。
给他一些工做,他就算加班也会使命必达地交给你一个会动的程序。但也仅止于此。有时候开发人员具有一些自私的心态,促使他不仅关心截止日期,也想从处理的事物中学到东西是很重要的。
6,给本身找理由:
「那不是我作的。」
「这看起来真糟糕。」
「不是个人问题。」
「这不是我修改的代码形成的问题,而是用到个人代码的人没写对。」
「我超讨厌这个(一天要讲十遍)。」
「这我修很差,请去把写这程序的人找来亲自处理。」当初写出错误的人已经离职了,不知道何时会轮到你?
7,夜郎自大:「个人方法」或「这才是王道」是他们的座右铭。
但他说来讲去都是在比较他的想法和你的想法,而不是这个案子的规格。否则就是拿你的解法和他的解法作比较,随之而来的就是彼此间的争论。有时候他们会一直不断挑剔你的代码,由于就算你的代码会动、经过测试、看起来也很工整,仍旧令他们感到不舒服。这种人是开发效率的瓶颈,并且一般抗压性不好。他们对团队其实没什么帮助,虽然他们极可能是资深的开发人员。
8,固步自封:例如当Java的程序员听到必需要用Python来写一支程序,立刻就会脸色给你看。
有些人对于学习新事物感到很痛苦,有些人则很怕写东西进数据库。他们会用尽一切方法来避免离开本身的温馨圈,此外有些迷信也使得他们不敢碰某些特定领域的东西。以我本身的经验来讲,这种现象在新手中是很常见没错,但一个好的开发人员即使在他们不熟悉的领域也乐于探索。
9,粗心:忘记备份、同一个案子的代码有不少版本分别放在不一样的文件夹、在产品版本的程序中印出开发用的除错信息等等。
这是另外一个常见的新手现象,在他的经验值提升后就会有所改善。
10,懒惰的假高手:他们对可以透过一些特殊的技巧让程序运做感到自豪,会用一些神奇的方法来解决看起来很复杂的问题。
不过根据个人经验,这些招式十有八九都只是化妆术。那些怪招都嘛很烂,由于不知道何时会爆炸,并且以后在修复、重构上花的时间会比如今一次作好还要多。