即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

你的代码code写的很烂

微信 程序员的那些事 18℃ 0评论

(点击上方公众号,可快速关注)


英文:girldeveloper,

译文:外刊IT评论

链接:http://www.vaikan.com/your-code-sucks/

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


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


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


我就这样被上了一课。


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


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


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


【今日微信公号推荐↓】

更多推荐请看值得关注的技术和设计公众号


其中推荐了包括技术设计极客 和 IT相亲相关的热门公众号。技术涵盖:Python、Web前端、Java、安卓、iOS、PHP、C/C++、.NET、Linux、数据库、运维、大数据、算法、IT职场等。点击《值得关注的技术和设计公众号》,发现精彩!

转载请注明:CodingBlog » 你的代码code写的很烂

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情
(35)个小伙伴在吐槽
  1. 那表示你能力不行 或者整个代码设计存在问题 或者你的审美有问题
    凰®2016-08-26 13:44 回复
  2. 不。是真的有很多烂代码的。比如我写的。。
    Joffrey2016-08-26 13:49 回复
  3. “我知道,我唯一能鄙视的代码只能是我自己的代码,鄙视的原因就是我不能使它变的更好。” 请问作者是处女座吗?/偷笑
    棒棒的木林森🌲2016-08-26 13:49 回复
  4. /呲牙新到公司!觉得自己代码很烂
    十三邵2016-08-26 13:50 回复
  5. 要知道,有人写的真的很烂,后台我不知道,做前端的有的写的真的跟狗屎一样。
    网客2016-08-26 13:54 回复
  6. 每当你听到别人说一段代码很烂,应该思考怎么去改进,而不是微微一笑说图样图森破,烂代码是客观存在的,包括大师,不写烂代码怎么成长的
    汪南2016-08-26 14:04 回复
  7. 在不知道业务逻辑的情况下评价代码逻辑简直就是耍流氓
    Mad Mark2016-08-26 14:10 回复
  8. 烂代码还是有不少的,开发人员水平参差不齐,有些非计算机专业的参加个培训就直接编码,逻辑混乱,现在的码农标准已经很低了。
    孤狼2016-08-26 14:12 回复
  9. 硬件设计领域,差不多也是这样。唯一不同的是,刚入行的时候,对别人的设计都是敬畏的,过了七八年后,就会粪土别人的设计。再过七八年,又变得敬畏了。
    怕瓦落地2016-08-26 14:26 回复
  10. 学习优秀代码库,比对着一段烂代码吐槽强。
    Delphis2016-08-26 14:30 回复
  11. 一个方法100多行的代码你见过没?反正我见过/微笑/微笑
    魔术师LYX[魔術師]2016-08-26 14:34 回复
  12. 有人就是喜欢说别人的代码烂,没意思,没用。听到这种不假思索的话其实很生气
    正阳2016-08-26 14:38 回复
  13. 很多人一毕业就忙着做开发,根本连设计模式都没机会理解深入。好的设计能极大程度降低人为错误,好的设计即使没有文档也能一目了然,好的设计能隐藏大多数不确定因素,好的设计在开发成本和功能边界上能做到完全可控,一切违法这种原则的都是不好的设计
    jwhuang2016-08-26 14:53 回复
  14. 那就是注释很烂 或者是根本没文档
    xgwwenf2016-08-26 15:25 回复
  15. 你写不出更好的不代表原本的就不烂
    eggcar2016-08-26 15:26 回复
  16. 好的代码不需要注释
    Sensir2016-08-26 15:37 回复
  17. what?七八千行的代码?真想大卸八块啊/折磨/折磨/折磨/折磨
    Sensir2016-08-26 15:44 回复
  18. 目前手上接手的代码,一个文件达到一两万行代码不在话下,一个函数上千行,看着老酸爽啦,爽到你想死
    轨迹2016-08-26 15:56 回复
  19. 有些是真的由于开发者水平导致代码水平低下,而有些是由于具体的各种各样的情况下,不得不这么做,或者这样做才好,不管哪一种,还是要以一种客观角度查看别人的代码,在没有完全了解这个项目时不对整个项目代码随意评判。我觉得要用客观严谨的态度去看待别人的代码。/呲牙/呲牙/呲牙
    💻🐒Sam😈2016-08-26 15:56 回复
  20. 然而烂代码就是烂代码,一边吐槽着别人的烂代码,一边自己写着烂代码。
    千劫2016-08-26 15:58 回复
  21. 你以為你的代碼很好還是你很懂?來看看我寫的代碼,你就知道你的是多麼優秀多麼精巧,而你的理解又是多麼透徹!
    巨型喵科生物乾乾™2016-08-26 16:01 回复
  22. 可惜有些人写的代码一眼就能看出来很烂,比如全局变量满天飞,一个函数动不动上万行,每个.c都包含系统内所有的头文件,不管什么函数都不检查返回值。
    学淼2016-08-26 16:04 回复
  23. 我是天蝎,为啥也这样想/糗大了/糗大了/糗大了
    侧面2016-08-27 00:27 回复
  24. 我觉得我写的每一行代码都是诗,即使它们无法运行也很美。共勉/微笑
    帝霸戈2016-08-27 01:07 回复
  25. 想想我写的太可怕了。。。。。
    Edward2016-08-27 02:19 回复
  26. 涉及架构方面的在不了解详情时,确实不能轻易否定。 但有些违反基本编程原理还是可以一眼辨识的。
    邵小杭2016-08-27 03:13 回复
  27. 有些是真的烂,有些是不得已而为之
    w2016-08-27 04:03 回复
  28. 我也遇到过
    流年2016-08-27 04:27 回复
  29. 我曾经看过一段代码boolean result=a==b&&a==c?true:false;(abc是自定义类型),这是我有史以来见过最渣的代码,没有之一
    Swicky2016-08-27 05:16 回复
  30. 我曾经刚学会MFC的时候,还觉得编出一套office仅仅是时间的问题
    2016-08-27 06:35 回复
  31. 丑有丑的道理,都是被需求逼的
    MarvIn2016-08-27 07:30 回复
  32. 程序员们都越来越文艺了
    小蘑菇2016-08-27 09:33 回复
  33. 刚出学校,真的写的很烂/流泪还是要好好修炼啊啊
    卓然不叫MQ2016-08-27 14:27 回复
  34. 不管逻辑乱不乱,先要代码风格好。。。/呲牙
    任小威2016-08-27 15:05 回复
  35. 上下文应用场景的确会使用一些经典的设计模式,设计模式很多情况会导致设计的复杂,不清楚场景可能不太能理解
    micro2016-08-27 16:04 回复