mbrfix修复拒绝访问

当某些东西无法按预期工作时,存在一个错误。 漏洞修复基本上是对现有代码库的补丁(拉取请求),旨在解决问题并确保“某些操作”按预期工作。 通常,这样的修补程序可以修复一件事,但会破坏许多其他问题。 我认为有时候为了保护项目免受更大的问题,有必要拒绝一个错误修复程序,并要求其作者重新做补丁。 根据我的经验,有一些正当的理由会拒绝这样的邮件。

艾尔·克里米亚(El Crimen Perfecto)(2004)

它会降低代码覆盖率

这是一种非常普遍的情况:在一个地方进行更改后,单元测试在另一个地方失败。 该错误已修复,但是一些可能不相关的单元测试开始报告失败。 在压力下或仅仅因为我们很懒,我们没有解决它们; 我们只是删除测试或将其标记为暂时“跳过”。 问题解决了,构建很干净,所以让我们合并补丁并称之为“天”吧? 错误!

即使我赞成尽可能多地偷工减料 ,但我不建议您切掉这个拐角。

正是在这里进行了单元测试,以防止我们在压力下损坏产品。

显然,在某些情况下,单元测试是错误的,因此我们必须删除它们。 在这种情况下,不要忘记创建新的。

在某些情况下,必须在几分钟内修复该错误以使系统恢复在线状态,并且修复所有单元测试将花费一个小时。 这种情况是有力的信号,表明您的产品已经覆盖了测试范围,因此情况非常糟糕。 毫无疑问,我们必须进行修复,并要求我们的测试关闭一段时间。 但是在这种情况下,请确保在发布错误修复后,您的团队正在处理的下一个任务是更正那些禁用的单元测试。 我建议阅读Michael Feathers 撰写的《有效处理旧版代码》 ,其中涉及到这个主题。

它不会重现问题

有时,整个系统可能仅由于一行代码中的拼写错误而停机。 一个明显的错误修复是删除错字,但是如果我们关心它的质量,那不是我们期望的一个好项目。 问题不是拼写错误,而是缺少在部署阶段会捕获拼写错误的单元测试。

真正的问题是在代码的此特定部分中缺少测试代码的覆盖范围。 通过消除错字,我们不会以任何方式帮助该项目。 此外,我们正在这样做,这对我们是有害的-我们正在隐藏真正的问题。

因此,无论问题的大小如何,其错误修复都必须包含一个额外的测试,该测试首先会重现该错误。 如果没有这样的测试,则错误修复将浪费项目的资金。

此外,如果没有单元测试重现该问题,则不能保证我们的错误修复不会引入更多的错误。 我什至要说,我们修复的错误越多, 熵就越高。 减少这种不确定性的唯一方法是使用单元测试覆盖代码。 如果不进行测试,则错误修复会给代码库带来更多混乱。

太大了

错误修复不是功能 ; 他们必须小而专注。 对于程序员而言,这是一个非常典型的错误,它在修正错误时会发疯,并在修正时引入一些重构。 结果是补丁变得相当大且难以理解。 我不反对重构。 对于项目而言,这是非常重要且积极的事情,但是修复并合并错误之后 ,请分开进行

修复错误时无需重构!

创建一个新的单元测试,重现该错误,然后提交。 修复现有代码库中的错误,无论它多么难看。 创建新的错误,要求团队使用丑陋的代码库改善情况。 如果有兴趣,请将这些错误分配给自己。 也许其他人可能会对修复它们和重构代码感兴趣。 但是所有这些将在以后的其他请求中通过新的代码审查和新的合并发生。

这不是关于懒惰和不愿修复看起来不好的东西。 这是一门学科,这比善意更重要 。

它解决了一个以上的问题

始终一次解决一个问题-就这么简单。 没有例外。 当错误修复补丁包含可解决多个问题的代码更改时,很难理解要测试的问题,重现的问题以及它们之间的关系。 将多个错误修复程序组合到一个请求请求中是非常糟糕的做法。

无论修补程序多么简单,都应使其独立于其他程序。 分别检查,测试和合并。 这还将增加更改的可追溯性。 总是很容易理解是谁进行了修复,谁审查了代码以及何时合并(和部署)了代码。

翻译自: https://www.javacodegeeks.com/2015/07/a-few-valid-reasons-to-reject-a-bug-fix.html

mbrfix修复拒绝访问

mbrfix修复拒绝访问_拒绝错误修复的一些正确原因相关推荐

  1. java为什么说拒绝访问_拒绝访问??

    在命令行输入的时候为什么会出现这种情况? C:\Program Files\Java\jdk1.8.0_102\bin\corejava\v1ch02\RoadApplet>javac  Roa ...

  2. wordpress拒绝访问_拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))

    iis提示“另一个程序正在使用此文件,进程无法访问.(异常来自HRESULT:0x80070020) 看看IIS的网站,惊人的发现default web site是停止状态.印象中没有停止它啊.右键- ...

  3. 服务器拒绝访问如何定位及修复

    服务器拒绝访问如何定位及修复 第一.问题定位 1.使用top查看当前系统资源占用情况,包括cpu.内存.硬盘 2.查看系统连接数据 netstat - an | awk '/^tcp/ {++S[ $ ...

  4. asp 采集不到数据,采集不成功 拒绝访问 msxml3.dll 错误 '80070005' 的解决方法

    asp 采集不到数据,采集不成功 拒绝访问 msxml3.dll 错误 '80070005' 的解决方法 用 MSXML2.ServerXMLHTTP 一定行,其他几个好像不怎么行. 另外一篇文章 采 ...

  5. usb口拒绝访问_u盘拒绝访问怎么办,教您修复u盘不能访问

    U盘因为功能强大且体积小,方便携带备受人们青睐,也因此得到广泛应用,,但是在使用u盘的过程中,碰到种种问题还是没办法避免的,那么当我们不幸遇到u盘拒绝访问怎么办呢?下面,小编就来跟大家说说遇到u盘拒绝 ...

  6. wordpress拒绝访问_如果您的网站被列入黑名单该怎么办

    黑名单是一种标记带有恶意内容的网站的做法,以防止用户意外下载恶意软件.但是,搜索引擎和防病毒供应商可能会因网络攻击而将您的网站列入黑名单.这可能会对您网站的声誉和知名度产生负面影响. 在互联网上,信誉 ...

  7. python输出结果存到文件拒绝访问_三步解决python PermissionError: [WinError 5]拒绝访问的情况...

    问题描述: 1.当你卸载python库的时候,如:pip uninstall pandas 2.当你想要更新python库的时候,如:pip install --upgrade pandas 等等- ...

  8. uniaccess进程无法结束 拒绝访问_嵌入式Linux编程——程序员小白不懂的进程、信号量、并发、互斥...

    所有学嵌入式Linux系统的看过来了,以下内容是每一位想学习Linux嵌入式系统想要了解的内容,真的很想要分享给大家! 本文分享的内容主要如下几个方面: 3.1 并发的原理 3.1.1 一个简单的例子 ...

  9. webbrowser 访问iframe拒绝访问_电脑无法删除文件访问被拒绝【解决方案】

    在使用时遇到了无法删除访问被拒绝 的问题,无法删除访问被拒绝 虽然不是大问题,但无法删除访问被拒绝 的问题会导致无法正常工作,那该怎么处理呢,下文给大家分享一下无法删除访问被拒绝 的具体解决方法: 无 ...

最新文章

  1. 我有点不喜欢分布式中的TCC模式了
  2. Forefront Client Security部署前准备
  3. HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试
  4. 大一的时候我上铺一哥们天天说梦话,一夜,他羞涩的说:“我怀孕了。”我们全体晕倒。...
  5. Java EE调度程序
  6. JAVA中vector是否存在数据_如何找出std :: vector中是否存在项目?
  7. 第一天:认识python
  8. 鸿蒙开发版发布会现场直播开奖记录,首发鸿蒙OS 荣耀智慧屏系列发布会直播
  9. JAVA基础知识(13)-----Lock接口
  10. 【VS】项目属性配置(上)
  11. linux ping监控脚本,Shell长ping脚本监控网络状态
  12. Linux中句柄是什么?
  13. 店宝宝:电视剧“拼刀刀”梗引热议 拼多多紧急注册商标为哪版?
  14. 网络连接有个感叹号的原因及解决方法
  15. 良人从零开始的踩坑笔记:浮点数
  16. WinCC 7.3 + SQL server(杂)
  17. 【大学英语四六级】四六级阅读高频词汇
  18. TCP协议中的三次握手和四次挥手(图…
  19. Spring Security认证_Remember Me
  20. 那些我们不知道的事儿!——Final Cut Pro for Mac

热门文章

  1. 使用计算机进行生产流水线控制属于,毕业设计(论文)-饮料罐装生产流水线的PLC控制精选.docx...
  2. jade支持html,Jade !HTML框架
  3. xshell远程传输文件过程
  4. pydicom数据的读取
  5. python 经验正交函数(EOF)与旋转经验正交函数(REOF)
  6. html页面显示dcm文件,dcm格式的影像 怎么把avi转换为dcm格式?
  7. yolov5中关闭wandb
  8. 调整虚拟机界面显示大小
  9. 西安电子科技大学李锦峰教授 计算机,李锦峰医生预约挂号-出诊时间-西安交通大学口腔医院(西安交大口腔医院)口腔颌面外科 - 名医汇...
  10. ​LeetCode刷题实战354:俄罗斯套娃信封问题