如果你不是入行不久的新程序员,你很可能会遇到一些你曾经写过的老代码,看到它们,你可能会有这样的反应:

哦,shit!这是什么?当时我脑袋进水了?

我就这样过。我的朋友和同事们都经历过。你很可能也发生过这样的事情。

最近我的一些前同事联系到我,问我是否能帮助他们做一些前端开发工作。我想着挣一些外快也不错,而且,这个公司里我曾经工作过两年半,他们都是优秀的程序员。

昨晚,我遇到了一些之前在那个公司里任职时自己写的JavaScript老代码,下面是我的反应:

  1. 怀旧追思: 哇塞!这是当年我写的啊!
  2. 羞耻: 我靠,怎么写成这样。应该使用更好的方法。真惭愧,当时怎么会把这样的代码放到产品中。
  3. 困:不早了,我该睡觉了。
  4. 骄傲:这段代码运行的良好——虽然不是最佳算法。更妙的是,我是5年前写的它,计算一下,它至少被成功的执行了70亿次!

早上醒来时我感觉好多了,不再为我那不是很完美的代码而忧愁。写代码不是为了美,是为了价值。所以,下次,当你再看到自己的一年前、5年前、甚至更多年前写的让人难为情的“烂代码”时,如果它们还在产品库中,还在生产着价值,你应该为它们骄傲!

本文属翻译作品,英文原文标题是:Your Old Crappy Code。若无特别说明,英文原文及其衍生作品均使用知识共享署名-相同方式共享(Creative Commons)协议。您可以自由复制、散布、展示及演出本作品;若您改变、转变或更改本作品,仅在遵守与本作品相同的授权条款下,您才能散布由本作品产生的派生作品。

本文是在程序师网首次发表。文章内容属作者个人观点,不代表本站立场。

如何看待自己写的烂代码相关推荐

  1. 转载:韩卫平--程序员们,你愿意维护别人写的“烂”代码么

    韩卫平--程序员们,你愿意维护别人写的"烂"代码么? http://blog.csdn.net/akirya/archive/2009/03/11/3982139.aspx 程序员 ...

  2. 哈哈哈,这个教人写出烂代码的项目在 GitHub 上火了...

    如果说到什么是好代码,我们肯定都能说出一堆规则,例如使用一致的格式和缩进.使用清晰的变量名和方法名.在必要时提供文档与注释.不要过度精简代码等等. 但是对于什么是烂代码,你有比较清晰的认识吗? 在 G ...

  3. 如何才能写出一手逼疯同事的烂代码?

    要是想写个烂代码,我们只需遵守这十九条准则? 「代码写得好」是对机器学习研究者及开发者最好的赞扬.其第一层意思是说,你的模型非常好,有自己的理解与修正:第二层意思是说代码的结构.命名规则.编写逻辑都非 ...

  4. 当写烂代码的人离职之后....

    半个月没有写blog了,正好是春节假期. 静下来,想想自己写的代码,真是有些汗颜,更有些惶恐. 加油吧~ 偶尔看到拉勾网上的一篇文章,记录下来,鞭策自己: 作者:蛋疼的AXB 来源:程序人生 休息一直 ...

  5. 《驯服烂代码》第一章

    [按]这是本人正在撰写的<驯服烂代码>第一章的草稿,请各位网友审阅,望各位不吝赐教,多谢! 第1章 何谓烂代码 光阴如梭,从1993年大学计算机专业本科毕业,至今一晃就过了近20年.在这近 ...

  6. 关于烂代码的那些事(上)

    1.摘要 最近写了不少代码,review了不少代码,也做了不少重构,总之是对着烂代码工作了几周.为了抒发一下这几周里好几次到达崩溃边缘的情绪,我决定写一篇文章谈一谈烂代码的那些事. 这里是上篇,谈一谈 ...

  7. 这些让人抓狂的烂代码,你碰到几种?

    刚入程序员这行的时候经常听到一个观点:你要把精力放在ABCD(需求文档/功能设计/架构设计/理解原理)上,写代码只是把想法翻译成编程语言而已,是一个没什么技术含量的事情. 当时的我在听到这种观点时会有 ...

  8. 关于游戏烂代码的那些事(下)

    假设你已经读过烂代码系列的前两篇:了解了什么是烂代码,什么是好代码,但是还是不可避免的接触到了烂代码(就像之前说的,几乎没有程序员可以完全避免写出烂代码!)接下来的问题便是:如何应对这些身边的烂代码. ...

  9. 举枪消灭烂代码的实战案例

    前言 之前我写过一篇如何少写PHP "烂"代码 https://segmentfault.com/a/11... 感觉很多新人对此不太理解.今天以打卡功能为例,去讲解其中的奥秘.那 ...

最新文章

  1. Microsoft Security Essential: 微软安全软件
  2. 远程连接MySQL慢的原因及解决
  3. CentOS系统的优化
  4. Java中正则Matcher类的matches()、lookAt()和find()的差别
  5. RHEL MRTG 系统流量监测的安装和配置
  6. python使用-使用python进行数据清洗
  7. 机器视觉行业的很多知识
  8. Yandex支持插件的手机浏览器
  9. 兰州大学本科毕业论文答辩PPT模板
  10. 计算机连接网络显示有限访问权限,电脑WiFi连接总是提示有限的访问权限是什么意思...
  11. html5 paint,html5实现仿windows画图工具的画图工具jspaint
  12. Cookie或Token实现网站自动登录
  13. 什么是单页网站设计?受欢迎的原因在哪?
  14. w10恢复出厂设置_教你如何在win10系统BIOS设置中恢复出厂设置
  15. c语言ch1与ch2什么意思,ch1和ch2是什么意思
  16. 【虚拟DOM】浅析 虚拟DOM
  17. React路由V6技术文档
  18. 阅读--收集--尝试
  19. Android Kotlin + 协程 + Retrofit + MVVM优雅的实现网络请求(简洁!!!!)
  20. 单页网站不会限制您的选择

热门文章

  1. 【转】一、用于VS2019的QT配置
  2. 那些年我们一起追逐的多线程(Thread、ThreadPool、委托异步调用、Task/TaskFactory、Parallerl、async和await)
  3. 任务调度开源框架Quartz动态添加、修改和删除定时任务
  4. windeployqt.exe的使用与避坑(windows平台)
  5. 【手算】行列式树形展开
  6. 【Github】怎么在README.md中添加图片?
  7. 第一次尝试修复Hbase2出现Region不一致,HBCK2
  8. 【POJ - 3159】Candies (差分约束,卡SPFA)
  9. 【POJ - 2392】Space Elevator (dp,优秀的背包问题)
  10. Apollo进阶课程㉔丨Apollo 规划技术详解——Motion Planning Environment