程序员常见的一些坏毛病

有则改之,无则加勉
服务器君一共花费了151.228 ms进行了4次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

1. 所有的程序都写的很烂,除了我的。

我要告诉你一个坏消息,兄弟,所有的程序都写的很烂,包括你的。无论你在上面花多少功夫,其他大多数程序员总是会认为你写的代码很烂、他们能写出比你好10倍的程序。

纠正:不要挑剔别人的程序,有一天也许你的程序会被人放在聚光灯下挑剔。要保持客观和专业的评论,不要轻易判断。要谦虚,从周围人哪里学习经验,警戒自己不要写出这么糟的程序。

2. 我几秒钟就能把它改好,不用走变更流程了。

抄捷径充满诱惑,每个人都想抄捷径。有时候抄捷径是必要的,但总的来说,抄捷径是危险的,非常危险,应该避免这样做。走捷径也许会节省你数小时的时间,但如果走错了,它可能会给你带来数月的麻烦。

纠正:遇到需要慎重处理的事情时不要太过自信。让其他人来复查你的所作所为。如果你计划要走捷径,请确保让你的负责人知道这样做的理由以及其中的风险。每次在走捷径时最好都让你的经理来确认实施成功,也就是“让他给你擦屁股”。

3. 这是个几分钟就能搞定的事。

在我的家乡Barcelona,那里的圣家族大教堂让我非常的自豪,它的举世闻名来自于它的美丽,也来自于它的建筑完工日期的规划(它动工于1882年,目前仍未完工),但这可能是因为他们没有让一个程序员去估计这个完工时间,否则的话,估计出的完工所需的时间很可能2周。

纠正:从一开始,你就必须严肃的认识到,对于一个有一定规模的软件开发过程来说,进行精确的时间评估是不现实的,我们能做的只是猜测。同样要记住的非常相似一点是,我们通常会发现有很多事情根本不能预见到它们会花去我们数倍于我们初始估计的时间,我通常的做法是把估计的时间乘上1.5或2。

4.  唯我独尊

很多程序员参与的讨论会基本上看起来就像是一场斗鸡,而不像是人类的讨论,这通常会出现在关于设计和架构问题的讨论会上。你基本上很容易看出其中各自都怀有顺我者昌逆我者亡的心态,你基本上可以把大多数的争论者所说的话直接换成咕咕!咕咕嘎!咕咕咕咕咕咕!咕咕嘎!

纠正:把你的自负留在心底。太过自负是所有程序员身上的一个非技术性的最大的一个毛病。凡事要三思而行。

5. 这不是我的错!

在我看来,这另外一个大多数程序员都会有的坏毛病是缺乏责任心。我们总在找借口… 就比如有人会说,如果在正常情况下,这个错误绝对不会出现,但说老实话,这很难让人信服。

纠正:犯了错误不需要去捶胸顿足,也不需要用刨腹自杀来谢罪。我们应该怀有一种健康的态度,说出这样的话:“呀,抱歉,我们现在就去改正这个错误,是我的错”,这是一种很敬业的态度,这能帮助我们树立一个好的声誉,更好的得到你的同事的尊重。

6. 没有激情

重复的和简单的任务通常不会带来什么动力,但这些事必须要完成,当程序员被要求去完成这些事情时,通常会显得无精打采,没有效率。

纠正:纪律问题。很不幸,我再也想不出其它的治疗这种毛病的良方。

7. 不成熟

如果说把对计算机编程当作做爱,那很少有计算机能得到满足。你根本就没有潜心投入,干到一半就结束了,然后倒头便睡。我发现大多数程序员对“干完”这个词很纠结。请记住,干完意味着:测试过(不仅仅只是单元测试),文档完整,提交过,合并过…

纠正:这是一个很麻烦的问题,相对于完全的完成某些功能性问题而言,这些并不是显得很有必要的任务会很庞杂和难处理,通常需要你有纪律性和受过培训。也许,这最简单的能让一个程序员理解他的开发是否真正的完成的两个办法就是:相互复查和演示。

作为一个程序员,因为思维的习惯,容易导致很多性格特点。以下是我觉得比较突出的(个人观点):

  1. 固执。当决定一件事的时候,别人很难说服你,即使是上级的意见也很难让你认可。如果上级压力够大,你可能会屈从,但是内心里觉得那不是我要做的。固执是不随大流的必要条件之一,反之不固执的人易随大流,难会与人隔绝,也难会坚持做程序员这个多与机器沟通的职业。
  2. 冷淡。对周围与自己无关的事情相当冷淡。以及对周围的同事朋友很冷淡,可能仅有一两个朋友甚至完全没有朋友。工作团队以外的其他人很难会让你有心思心情特意去维护与他的关系,所以对曾经的朋友相当冷淡,实在是没时间去搭理,我自己还忙着呢。而且程序员总要钻研在自己的世界里,很难能找到志同道合并且总在做同一件事情的战友,但也因为长期没有朋友,作为补偿,可能会对一个新认识的朋友马上表现出老朋友一样的热情,其实是很真挚的。
  3. 走神,在听到一个不理解的事情的时候,总会习惯性的去想为什么是这样,怎么样解决。因为长期的思维习惯导致这样的条件反射,程序员会表现得比普通人易走神,反应迟钝,并不是因为智力差,相反却是因为程序员总是容易进入深入思考问题的状态。
  4. 自恋。交际圈窄,程序内部复杂,想实现一个很易见的功能都要花费巨多时间,没有直观的表述于是常常不被人快速的喜欢。因为没人恋,所以至少要自己爱自已。如果连自己都不爱自己,你还有什么感情基础投入到程序的热爱中。
  5. 理性。必须理性,长期与机器沟通,很难不理性。与机器相处越久,机器会强迫你更理性的思考问题,1就是1,0就是0,如果不就成了true与false的对立了。
  6. 理想化。我们要创建纯净的完美的程序,哪怕是相对完美的,只有理想化的结果才配得上我们付出的时间和精力。理想是我们付出的不懈追求。
  7. 单纯(直接)。最喜欢直截了当的解决问题。最喜欢讲真话。

本文地址:http://www.nowamagic.net/librarys/veda/detail/1590,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1590

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《Python在Unix和Linux系统管理中的应用》 Noab Gift (作者), Jeremy M.Jones (作者)

《Python在Unix和Linux系统管理中的应用(影印版)》作者们还构建了一个可以免费下载的Ubuntu虚拟机。该虚拟机包含了这《Python在Unix和Linux系统管理中的应用(影印版)》的源代码,还可以用来运行书中的实例,包括SNMP、IPython、SQLAlchemy和许多其他工具。《Python在Unix和Linux系统管理中的应用》展示了Python语言如何提供一种更加高效的方式来处理Unix和Linux服务器管理工作中的各种任务。《Python在Unix和Linux系统管理中的应用(影印版)》的每一章都会提出一个特定的管理问题,例如并发或数据备份,然后通过实际的例子提供基于Python的解决方案。

更多计算机宝库...