你的代码写的很烂

我有一个很熟的朋友,他现在忙的不可开交。他手上有一大堆没有完成的合同,而且一个跟他一起开发的助手也离他而去。于是,在三个大客户的催命鬼时的督促下,他已经连续好几个星期没休息了。

其中有个客户跟他讨论他给这个客户做的iPad应用程序,客户告诉他“我们花钱雇了另外一个程序员来审查你的代码,他说你的代码写的很烂。”

当他告诉我这个故事时,我只是微微一笑,想起了我以前是怎么唾弃别人的代码的。当我刚开始编程时,我看到过一段程序,我认为那是毋庸置疑的写的很烂的,我删掉了那段代码,用自己认为更好的方面重新写了一遍。当我变成的成熟后,我回头再看,发现我所删掉的那段代码其实是用了一个很好的设计模式,而我重写的确是丑陋无比。

我就这样被上了一课。

之后的日子里,我经常会遇到我认为是丑的不能再丑的代码。尽管如此,我也不通篇否定它们了,我只会在其中找一些特别的无法容忍的部分重新编写。可10次中有9次,当我快要完成时,我发现了一个问题使我不得不对自己说“哦,怪不得他们要写成这样了”,然后把代码恢复成原样,或也使用同样“丑的不能再丑”方式完成它。

现在我变的更成熟了,我可以充满自信的告诉你,我再也不会看着别人编的代码说“哦,这代码很烂”了。我知道,在没有了解整个程序的解决方案之前,你不可能就那么轻易的判断代码的好和坏。真的,有时候它看起来很傻,或完成的不好,或没有文档标注(我的意思是自我注释),然而,你根本就不可能知道程序员在写这段代码时脑袋里是怎么思考的。更多的情况是,他们要选择这样做是有一定的理由的,除非去深入的研究它们,你不可能再有其他简单快速的方法来理解程序的上下文环境。

所以,每当听到有人看着别人的代码说很烂时,我只会微微一笑,让我想起我当年的天真和盲目自信。的确,我以前坚信自己是个出色的开发人员,坚信知道每种算法的最优设计。我很想念当时的自大,但是我很高兴现在学到的这些理念,我知道,我唯一能鄙视的代码只能是我自己的代码,鄙视的原因就是我不能使它变的更好。

[本文英文原文链接:LINK ]

此条目发表在 心得体会 分类目录。将固定链接加入收藏夹。

18 条评论

  1. jackie 说:

    很有感触啊。。。。

  2. tony 说:

    是啊,收益很大

  3. 确实是,博主写得比较深刻。

  4. 奶茶加盟 说:

    呵呵,收益不错啊

  5. benxiaohaihh 说:

    很有感触

  6. 大方 说:

    严以律已,宽以待人!

  7. 老康 说:

    嗯。很有道理啊!
    学习学习设计模式!

  8. 布衣 说:

    有道理

  9. gcyy0106 说:

    很好,很会自我反省,顶!

  10. 大道达人 说:

    严以律已,宽以待人!

  11. Mr_Xu 说:

    学习了~!

  12. Fountain 说:

    嗯~~确实是这样啊~~做一段时间后去思考一下就会发现自己写的代码其实很烂呢~~以前也遇到过看到别人的代码以为他的很烂,结果自己写起来一样烂~~

  13. 泥菩萨 说:

    不知道是没有上线通过审核还是删了评论?我的字不是广告,不是垃圾。好像都是个人感受。
    我是否误会?

  14. Linkjun 说:

    不错,值得谨记的文章。

  15. 汤怀 说:

    仿佛就是现在的我。。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>