污点修复代码

您正在从事这个新项目,并且在某处看到一段不好的代码。 处理它的错误方法是“不,那是别人的代码,我对此没有做任何事情”,“我没有时间解决这个问题–我还有其他任务”,“如果有可能,我肯定会破坏事情我改变这个”。

问题是–错误的代码不断累积。 即使是很小的作品,它也会随着时间的流逝而加总,很快您就会拥有“由一些无能的人编写的大型遗留项目,没人愿意支持”。 有人曾经说过,六个月内所有项目都是“遗留项目”,因为它们积累了大量的不良代码。 换句话说,就是技术债务。

这就是为什么您应该立即修复它。 当您看到一些废话,或者不是很好的做法时,请修复它。 现在。 否则为时已​​晚,因为这样其他代码将随之启动,而新代码将遵循相同的做法(有时带有复制/粘贴),而修复它将是一场噩梦。 让我们解决上面的错误陈述:

  • “不,那是别人的代码,我对此没有做任何事情” –那又怎样? 您在那个项目中,您拥有修改它的“权利”。 如果其他人以不好的方式编写了代码,则可能甚至是他们甚至不知道这很糟糕-因此他们不会修复它。 而且,我不认为如果您修复此问题,他们也不会生气。 他们可能会这样做,但这不是您的问题。
  • “我没有时间解决这个问题–我还有其他任务” –这也是一项任务。 然后,您可以在问题跟踪器中提出“重构X”的问题/票证,然后在其中记录时间。 您可以将其延迟到下一个冲刺(如果敏捷)。 管理方面的问题坚持要制造新事物而不是修复旧事物? 告诉他们阅读“重构”……或Spolsky……或此博客。 (这无济于事,但无论如何)
  • “如果改变这一点,我肯定会破坏事情的” –可能是的。 嗯,等等,您有单元测试,对吗? 以及集成测试和构建验收测试? 如果不是,请先解决此问题。 这样您就不会那么害怕破坏事物。

关于此问题,代码审查也很重要。 如果所有提交的代码都经过了代码审查,那么错误的部分被忽视的机会就会减少。 它仍然发生,但很少发生。

这种方法的唯一问题是–您如何确定一段代码是不好的? 好吧,这里是经验,最佳实践知识,模式。 我不能给你一个食谱。 但是您的团队中应该有几个能够识别错误代码的人。 如果没有,请获取代码完整(和有效的Java(如果您使用的语言是Java))。

因此–立即修复该代码。 它节省了时间和麻烦,并使您对该项目感到更加自豪,而不是“这是一些无能的人写的东西,我只是在做一些事情”。 因为您不能这样说–如果项目很烂,那也是您的错。

重要笔记 :

  • 您不应仅仅因为认为不好而更改某些内容。 向您的同行和技术潜在客户展示。 如果涉及的内容不止几行,请进行更广泛的讨论,并撰写一个故事。 但是,请尽快这样做。
  • 因此,建议不是关于复杂且难以阅读的代码。 if(specialCaseX){// do magic}可能由于某些复杂的业务需求而存在。 如果您想改进,请进行研究并添加评论。

参考: 立即修复该代码! 从我们的JCG合作伙伴 Bozhidar Bozhanov在Bozho的技术博客中获得 。

相关文章 :

  • 使用代码的三种方式
  • 默认用例
  • 技术债务与沸腾青蛙
  • 处理技术债务
  • 任何软件开发公司应存在的服务,实践和工具,第1部分
  • Java教程和Android教程列表

翻译自: https://www.javacodegeeks.com/2011/12/fix-that-code-immediately.html

污点修复代码

污点修复代码_立即修复该代码!相关推荐

  1. 什么样的代码是好代码_什么是好代码?

    什么样的代码是好代码 编码最佳实践 (Coding Best-Practices) In the following section, I will introduce the topic at ha ...

  2. python 代码_如何让Python代码加速运行?

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...

  3. u盘循环冗余能修复吗_古董修复能修复吗?-恩平 - 商业服务

    我们是专业从事瓷器修复的公司,修复的内容有紫砂壶,各种陶瓷制品,玉器,古董,等等,修复的种类有商业修复和普通修复.我们有专业的修复专家从业16年有余,修复好的瓷器经久耐用,外观漂亮,可以欣赏外观,还可 ...

  4. 如何在vscode运行php代码_如何提高 PHP 代码的质量?

    说实话,在代码质量方面,PHP 的压力非常大.通过阅读本系列文章,您将了解如何提高 PHP 代码的质量. 我们可以将此归咎于许多原因,但这肯定不仅仅是因为 PHP 生态系统缺乏适当的测试工具.在本文中 ...

  5. 安卓清理垃圾清理代码_用方面清理代码

    安卓清理垃圾清理代码 在我以前的文章中,我描述了字母转换,并且提到了我们使用AspectJ来解决该任务,但是我没有提及AspectJ的工作原理和一般性方面. 因此,在接下来的几行中,我将解释: 什么是 ...

  6. ms查约束具体代码_程序员写代码之前应该做的5件事,看完编程效率瞬间提升

    作者:borisyang,腾讯 WXG 应用开发工程师 作为程序员,刚刚开始学会写代码,常常是接过需求就开始撸代码.有时候发现,写完代码,需求变了.更多时候,觉得写业务代码枯燥无聊,没有技术含量.另外 ...

  7. 河南科技学院计算机专业代码,商丘工学院代码_商丘工学院专业代码_2021商丘工学院招生代码,报考代码...

    更新日期:2021-07-01 18:23 学校类型: 民办学校 教学领域: 电    话:0370-5072102 官网: www.sstvc.com 学校地址: 河南省商丘市长江东路221号 报考 ...

  8. 谷歌浏览器修复工具_奇安信代码卫士协助谷歌修复漏洞 获官方致谢

    日前,奇安信代码安全实验室研究人员发现了谷歌公司Chrome浏览器存在安全漏洞 (CVE-2019-5866),该漏洞是由Google Chrome浏览器V8引擎不正确地处理堆对象引发的内存错误. 奇 ...

  9. python代码修复神器_一键 fxxk,代码修复神器拯救你

    原标题:一键 fxxk,代码修复神器拯救你 作者 | 一一 出品 | AI科技大本营(ID: rgznai100) 在成为一个合格的开发者之前,大多数人一般都经历过被命令行反复"fuck&q ...

最新文章

  1. 【GOF】23中设计模式深析
  2. R语言dplyr包使用select函数通过索引查询或者排除数据列实战(Select Columns by Index)
  3. 《结网》十年,《结网2》开启产品经理的无限游戏
  4. 把自己的项目布到服务器,如何把自己的开源项目发布到Pypi服务器
  5. Anaconda:成功解决Anaconda下载时速度超慢(conda下载慢)的几种方法图文教程
  6. python 压缩文件
  7. 寻找必败态——一类博弈问题的快速解法
  8. linux jboss 多实例,在单个JBoss实例上设置多个端口?
  9. UML--静态图(类图、对象图、包图)
  10. python+tkinter 输入框及Label
  11. 常见公文写作规范,公文写作常见错误更正对照表!
  12. HttpSession session用法详解
  13. 【图像加密】图像加密解密含Matlab源码
  14. xp系统怎么弄清微软服务器名称,xp系统如何做远程服务器呢
  15. 电源设计经验谈1-9
  16. 鸡年关于鸡的一些歇后语
  17. 三栏布局:左右固定,中间自适应的几种方式
  18. input输入框的原生事件
  19. 网络基础知识学习笔记
  20. 火狐浏览器安装EditThisCookie插件

热门文章

  1. 资产或在建工程资本化时报错,消息号GLT2201 “未填写行项目002中平衡字段“利润中心”” - ACSET
  2. js去掉前后空格的函数_StudyNote -- JS原型 amp; 原型链
  3. 南昌大学计算机与科学专业就业前景,南昌大学好就业吗?附南昌大学就业率最高的专业名单...
  4. 易泊安卓车牌识别以及IOS车牌识别
  5. python 自动化测试框架_0——目录
  6. 青软实训 Oracle实训完整代码
  7. 如何对出差员工的工作进行异地监控?
  8. Data truncation: Truncated incorrect DOUBLE value错误的解决方案
  9. 基于Python的学生信息管理系统(附源代码)3.7
  10. 函数、极限与连续-一元微积分