你的位置: iPc 首页 > 全部文章 > Web编程 > 阅读文章
科学X网    Office    苹果中国    微软中国    VPS

你的代码写的很烂……

07
一月

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

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

code

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

我就这样被上了一课。

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

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

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

[英文出处]:Link
[译文来源]:外刊IT评论

关于本文
各种回音
  1. 说: 回复他/她

    沙發誒

    • 说:

      挤一挤 来

    • 说:

      挤一挤就能坐下三个了

    • 说:

      只要不是为了维护方便,烂一点又何妨

    • 说:

      为什么助手都离他而去呢?

    • 说:

      说明你代码不一定烂,只是注释写的很烂。

    • 说:

      再挤一下。助手离他而去,大概没有挣到多少钱。

    • 说:

      挤挤更健康~~~

  2. 说: 回复他/她

    板凳!!!!!!!

  3. 说: 回复他/她

    好前啊·····啊···哇哈哈

  4. 说: 回复他/她

    一个真正优秀的程序员.

  5. 说: 回复他/她

    内容都没看··就来占位了

  6. 说: 回复他/她

    话说程序员都是很累的

    • 说:

      没错,程序员要是忙起来是没有多少时间休息的。有时甚至几天几夜不能睡觉。而且一定要喝可口可乐!吃的食物就是泡面搭配冰镇可乐,这种食物非常扛时候!不过还好,上司对生活方面要求不高,只要能定期完成任务,其他的不会管太多~

  7. 说: 回复他/她

    确实啊
    很多人都是不容易
    需要多点体谅大家啊

  8. 说: 回复他/她

    完全同意你的观点!

  9. 说: 回复他/她

    有时候俺也看着别人东西不顺眼,总会乱指一通!
    现在想想也有点可笑,呵呵!
    咱们怎么能够了解当事人当时的思考方法那?

  10. 说: 回复他/她

    我也在微微一笑

  11. 说: 回复他/她

    以后 当其它人说我时,我也这样想,心里应该会好点吧

  12. 说: 回复他/她

    感悟很多。虽然我才接触代码。但我会好好学下去的

  13. 说: 回复他/她

    有感触

  14. 说: 回复他/她

    感触

  15. 说: 回复他/她

    前辈们的感悟啊,珍惜珍惜

  16. 说: 回复他/她

    your idea sucks not.加油

  17. 说: 回复他/她

    我不是写程序的,是做设计的,但我知道,做人要保持着一个谦卑的心,除非你认为你绝对能赢他

  18. 说: 回复他/她

    我有时候也很鄙视自己的设计,虽然只是课程设计,但确实烂的可以。。。

  19. 说: 回复他/她

    恩,同感~

  20. 说: 回复他/她

    希望可以有更多这样的文章……
    经常分享给同学看

  21. 说: 回复他/她

    为啥程序员做久了,写出来的文章怎么看怎么像是用英文赞翻译过来的……

    • 说:

      为啥程序员做久了,写出来的文章怎么看怎么像是用英文做底稿再翻译过来的……

  22. 说: 回复他/她

    如果不了解原先写下这段代码的意图,确实会觉得他的代码很烂,不过我不太喜欢去重写,重写的结果可能是乱的一塌糊涂

    • 说:

      你姓盛?

  23. 说: 回复他/她

    认同认同…

  24. 说: 回复他/她

    很有感触。。

  25. 说: 回复他/她

    看这么长时间才能看出来用途的代码,首先可读性上就丢分了

  26. 说: 回复他/她

    当自己迈出第二个脚印的时候,我会回头看看第一个脚印,应为它有许多跟第二个脚印不同地方,只有仔细观察,才能察觉。

  27. 说: 回复他/她

    在未了解事情的真相之前,不轻易否定那件事情。

  28. 说: 回复他/她

    没写过代码的人飘过

  29. 说: 回复他/她

    虽然没写过多少代码,但是里面的艰辛也理解

  30. 说: 回复他/她

    恩~~的确是酱紫的,自己写代码的时候经常会有一些自己设的局,有时候写完了感觉就像一个悬疑片~~前边一大堆铺垫,完全可以丢掉,但是在某处却要用到

  31. 说: 回复他/她

    小小程序员的飘过……

  32. 说: 回复他/她

    同意,别人基本不知道人家怎么思考就……

  33. 说: 回复他/她

    程序员是很难过的,祝福他们

  34. 说: 回复他/她

    我的代码写的确实很烂啊~~

  35. 说: 回复他/她

    不会写代码的飘过~

  36. 说: 回复他/她

    每个的编程思想不同,学习别人代码风格的长处 ,才是重要的。没必要去说别的人代码烂

  37. 说: 回复他/她

    还有就是俺们程序员为了代码,现在还是单身。可怜 !!美女献上!!

  38. 说: 回复他/她

    我把说别人的代码烂当成一种不道德的行为。就算是被公认是烂的,很多人说别人烂其实就是装逼,损人利已

  39. 说: 回复他/她

    今天我同样遇见了这样的人,是另外一个公司的告诉我客户,我给做的网站很烂。当时我也觉得没什么,个人思路不一样不可能按照他的想法去做!

  40. 说: 回复他/她

    纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…纯属灌水,请勿介意…

  41. 说: 回复他/她

    “哦,怪不得他们要写成这样了”
    很多人都这样

微博评论箱