`
wsql
  • 浏览: 11780864 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

十个糟糕的程序员的行为——网摘

 
阅读更多

参考资料:网上收集。

今天无意中翻出了一些原来的文章,作者不知道是睡,不过感觉不错,于是贴上来和大家分享分享。

十个糟糕的程序员的行为

1)情绪化的思维
  如果你开始使用不同颜色的眼光来看待这个世界的话,那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很有可能会把自己变成一个怪物。相信你经常可以看到很多很糟糕的程序会使用下面的这些语句:
  我的程序不可能有这种问题。
  Java就是shit。
  我最恨的就是使用UML做设计。
  需求怎么老在变,没办干了。
  受不了这些人,他们到底懂不懂啊。
  …… ……
  这些带着情绪化的思维和态度,不但可以让你成为一个很糟糕的程序员,甚至可以影响你的前途。因为,情绪化通常都是魔鬼,会让你做出错误的判断和决定,错误码率的判断和决定直接决定了你的人生。


  2)怀疑别人
  糟糕的程序总是说:“我的代码一定是正确的,我怀疑编译器有问题”,“我这应该没有问题吧,STL库怎么这么难用啊”。我曾经见过有程序员这样使用STL类:map<char*, char*>,当他发现这样放入字符串后却取不出来,觉得那是STL库的BUG,然后自己写了一个map!我的天啊!
  某些时候,过早的下结论是一个很不好的习惯,任何事情都有其原因,只有知道了原因,你才能知道是谁的问题。一般来说,总是自己出的问题。


  3)过多关注实现,陷入问题细节
  有些时候,当我们面对一个问题或是一个需求的时候,糟糕的程序员总是会马上去找一个解决方案或是实现,这是一个很不好的习惯。设计模式告诉我们,“喜欢接口,而不是实现”就是告诉我们,认清问题的本质和特性要比如何实现更重要。
  对于一个客户的问题来说,首先应该想到的是如何先让用户正常工作,如何恢复正在“流血”的系统,而不是把用户放在一边而去分析问题的原因和解决方案。
  对于解决一个bug来说,重现bug,了解原来程序的意图是首先重要的事,而不是马上去修改代码,否则必然会引入更多的BUG。
  对于一个需求来说,我们需要了解的需求后面的商业背景,use case和真实意图,而不是去讨论如何实现。只有了解了用户的真实意图,实际使用的方式和案例,你才能真正如果去做设计。
  糟糕的程序总是容易陷入细节,争论于如何实现和实现难题,以及问题的根本原因,而忽略了比这些更重要的东西。只有看懂了整个地图,我们才知道要怎么去走。


  4)使用并不熟悉的代码
  糟糕的程序员最好的朋友是 Ctrl-C 和 Ctrl-V ,有些时候,他们并不知道代码的确切含义,就开始使用它,有证据表明,由拷贝粘贴引发的bug占了绝大多数。因为,代码总是只能在特定的环境下才能正常地工作,如果代码的上下文改变了,很有可能使得代码产生很多你不知道的行为,当你连代码都控制不住了,你还能编出什么好的程序呢?


  5)拼命工作而不是聪明的工作
  对于糟糕的程序员,我们总是能看到他们拼命地修正他们的bug,总是花非常多时间并重复地完成某一工作。而好的程序可能会花双倍的时间来准备一个有效的开发环境,工具,以及在开发的时候花双倍甚至10倍的时间来避免一些错误。好的程序员总是会利用一切工具或手段来让自己的工作变得更有效率,总是为在开发的时候尽可能得不出错。后期出错的成本将会是巨大的,而且那时改正错误的压力也是巨大的。所以,糟糕的程序通常会让自己进入一种恶性循环,他们看上去总是疲惫的,总是很辛苦的,所以更没有时间来改善,越没有时间来改善,就有越多的问题。所以,拼命工作有些时候可能表明你不是一个好的程序员。


  6)总是在等待、找借口以及抱怨
  当需求不明确的时候,当环境不是很满意的时候,他们总是在等待别人的改善。出现问题的时候,总是在找借口,或是抱怨这也不好,那也不好,所以自己当然就没有做好。糟糕的程序员总是希望自己的所处的环境是最好的,有明确的需求,有非常不错的开发环境,有足够的时间,有不错的QA,还有很强的team leader,以及体贴自己的经理,有足够的培训,有良好的讨论,有别人强有力的支持……,这是一种“饭来张口,衣来伸手”的态度,这个世界本来就不完美,一个团队需要所有人去奋斗,况且,如果什么都变得完美了,那么,你的价值何在吗?driving instead of waiting, leading instead of following 。


  7)滋生办公室政治
  有句话叫“丑女多作怪”,意思是说如果一个自己没有真实的能力的话,那么他一定会在其它方面作文章。糟糕的程序员也是这样,如果他们程序编不好的话,比不过别人的话,他们通常会去靠指责别人,推脱责任,或是排挤有能力的人,等等不正常的手段来保全自己。所以,糟糕的程序通常伴随着办公室政治。


  8 )说得多做得少
  糟糕的程序员总是觉得自己什么都懂,他们并不会觉得自己的认识和知识都是有限的。这就是所谓的夸夸其谈,是的,什么都做不好的程序员能靠什么混日子呢?就是吹啊吹啊。
  另一个表现方式是他们在评论起别人的程序或是设计,总是能挑出一堆毛病,但自己的程序写得也很烂。总是批评抱怨,而没有任何有建设性的意见,或是提出可行的解决方案。
  这些糟糕的程序员,总是喜欢以批评别人的程序而达到显示自己的优秀。


  9)顽固
  当你给出一打证据说明那里有一个更好的方案,那里有一个更好的方向的时候,他们总是会倔强的认为他们自己的做法才是最好的。一个我亲身经历的事例就是,当我看到一个新来的程序员在解决一个问题的时候走到了错误的方向上时,我提醒他,你可能走错了,应该是另外那边,并且我证明了给他看还有一个更为简单的方法,有。然而,这位程序员却告诉我,“那是我的方法,我一定要把之走下去,不然我会非常难受”,于是,在三天后的代码评审中,在经过顽固地解释以及一片质疑声中,他不得不采用了我最先告诉他的那个方法。
  这些程序员,从来不会去想,也不会去找人讨论还有没有更好的方法,而是坚持自己的想法,那怕是条死路都一往直前,不撞南墙永不回头。


  10)写“聪明”的代码
  他们写出来的代码需要别的同事查看程序语言参考手册,或是其程序的逻辑或是风格看上去相当时髦,但却非常难读。代码本应该简洁和易读,而他们喜欢在代码中表现自己,并尝试另类的东西,以显示自己的才气。是的,只有能力有问题的程序员才需要借助这样的显示。
  记得以前的一个经历,一位英语很不错的程序员加入公司,本来对我们这些英语二把刀来说,我们喜欢看到的是简单和易读的英文文档,然后,那位老兄为了展示他的英语如何牛,使用了很多GRE中比较生僻的短语和词汇。让大家阅读得很艰苦。最有讽刺意味的是,有一位native的美国人后来在其邮件中询问他某个单词的意思。呵呵。

分享到:
评论

相关推荐

    网摘集合网摘集合网摘集合网摘集合

    网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合...

    天空网摘 V120606.rar

    此版本发布时间为2012-6-7,其中数据库有效日期为3个月(程序里有些热点网摘或者推荐网摘是按照一定时间段来统计的,否则数据太久远陈旧的话,就不会调出来从而显示空白),但是大家也可以从这里下载最近的数据库来...

    网摘精灵软件包1.5

    网摘精灵就是这样一个工具,填写好标题和地址,网摘精灵自动将您的网站提交到数百个网摘站。提交过程不用您操心,软件自动完成。 现在是网络时代,速度就是一切。 尝试一下,迎来网站宣传的新天地。把节约下来的...

    天空网摘 v20110624.rar

    后台管理免费共享版后台仅限于“所有用户”、“所有网摘”和“管理员操作”三个管理栏目。 设置管理员的步骤是:① 用初始化的“天空”登录用户后,再登录管理后台;② 在“所有用户”栏目修改某注册用户的等级为...

    PHP免费网摘程序

    1、把文件上穿上去以后,在phpmyadmin里边 建立一个数据库。假设是 pictop。 然后把sql文件mmei8.sql导进去。 2、修改数据库配置文件,conn.php.修改网摘配置文件 include/setup.php。 3、后台路径admin/default...

    百亿网摘完整无错版

    百亿网摘整站 后台功能 --------------------- 基本信息 管理站点的基本信息 栏目管理 栏目分类 网摘管理 已推荐网摘 推荐网摘 首页生成 重新生成页面 审核网摘 管理网摘 模版管理 模版管理 用户管理 管理员修改 ...

    23个收藏到网摘的16x16图标及代码

    23个收藏到网摘的16x16图标及代码

    天空网摘 v120606

    网摘建站具有技术自主容易、运营维护简单等性价比的优势,并能高效快捷的整合网络诸如论坛、博客、资讯、图片、视频、下载等各类资源来。当然,网摘应用也具有内容原创性不强,互动交流性不够的特点,这就需要在网站...

    PHP免费网摘程序(源代码)

    1、把文件上穿上去以后,在phpmyadmin里边 建立一个数据库。假设是 pictop。 然后把sql文件mmei8.sql导进去。 2、修改数据库配置文件,conn.php.修改网摘配置文件 include/setup.php。 3、后台路径admin/default....

    23个收藏到网摘的16x16图标及代码.rar

    23个收藏到网摘的16x16图标及代码

    咖啡屋网摘联盟程序 v6.0 终极无错误版

    大家盼望已久的功能终于推出了,带有注册的功能,相当于一个完整的网摘,此次改动较大,加入了大家强烈要求的注册互动功能,成为了一个不仅仅能,而且能摘网摘.

    9426网摘1.0版

    10.如网摘的标题或正文中有设置好的敏感字,将会被屏蔽为***,而不是原来的不予收藏. 由于增加了一些功能,数据库结构也发生了变化,不能直接从265key网摘直接升级,如需原来的数据库 数据,请先备份数据库,然后对照新老...

    加入网摘插件 v1.0 通用版

    把网站的页面加入网摘站,可以宣传和推广网站,可以给网站带来一定的流量和人气。特别适用于论坛、文章系统、新闻系统和Blog。程序采用很漂亮的下拉菜单效果,既美观又节省页面空间。

    博客、相册、文件、网摘、迷你博客、论坛、活动、圈子

    结合博客、相册、文件、网摘、迷你博客、论坛、活动、圈子、资讯等应用模块,可以快速的搭建具有SNS特征的在线社区。借助SpaceBuilder平台的服务(用户、朋友、私信、邀请、权限、审核、隐私、积分、通知、动态、...

    麦布网摘 v1.1

    麦布网摘是专门为个人站长制作的一个网摘程序,前台主要是分类显示功能,后台有手工添加、修改、删除以及分类的管理,功能比较简单,非常适合二次开发,本系统秉承麦布程序的一贯风格,特点速度快、占用服务器资源小...

    jsp网摘系统源代码

    jsp网摘系统源代码 jsp网摘系统源代码 jsp网摘系统源代码 jsp网摘系统源代码

    Java 网摘 经典的总结

    Java 网摘 Java 网摘 经典的总结 Java 网摘 经典的总结

Global site tag (gtag.js) - Google Analytics