这段时间一直在修bug。自己的bug没fix几个,天天给人分析bug。但是听的最多的就是:你们的Bugfix质量太低啊,要保证质量啊。
于是今天我就在想,啥叫高质量的Bugfix呢? 产生的side effect越少越好?改动越小越好?风险越小越好?思考后,心得如下:
其一:试想,如果你碰到一个bug,这个bug是由于设计上的缺陷引起的,但是只修了bug表面,没去深究更深层的东西,虽然你的Bugfix没引起更多的side effect。但是你的修改只修改了"一个bug", 就如同你身体里潜伏了一种大病,你现在表现的是头疼,你却只治理了头疼,,后果如何,可想而知。所以,修bug,一定要多多考虑,找到bug根源后也要多想想,为什么会引起这样的bug,我怎么样改代码能让以后更容易定位这个地方的bug,这个bug的根源还会引发其他什么样的潜在bug。对付有问题和潜在问题的代码,该出手就出手。也许你为一个bug大动干戈,会引起很多的side effect。但是你今天的改动,能为将来的埋下好的种子而不是。
其二:修一个bug,或者加一个功能的时候,也许你可以用硬编码或者work round的方式修改这个bug和加一个功能,也能把风险和side effect降到最低。但是这样合适吗?理由不言而喻,不多说了。
其三:side effect和风险最小的事情就是啥事情不做。。。。。。。
总的来说,人无远虑必有近忧啊,不要等问题出来一个被动的去解一个,要主动的去揭露问题,发现做的不好就改,高质量的bugfix应该是针对整体项目的,而不是你的这个bug,项目是大家的项目不是你这个bug的项目。
分享到:
相关推荐
Marlin-bugfix-2.0.x对其的支持表明,3D打印机可以利用STM32F7的强大性能来提升打印质量和速度。 3. **ARM芯片主板兼容**:Marlin固件的另一个关键特性是广泛的硬件兼容性。ARM架构因其低功耗和高性能而被广泛应用...
E3D V1.1是E3D公司生产的一款热端,以其高质量和可靠性闻名。它是3D打印机上的一个重要组成部分,负责熔化PLA、ABS等材料并将其挤出。 MKS Mini 12864 V3是一种常用的3D打印机控制面板,具有128x64像素的LCD屏幕,...
了解并掌握这些IE常见bug的修复方法,将有助于提升你在开发兼容性网站时的效率和质量。虽然现代浏览器已经大大减少了这些问题,但仍有部分用户在使用旧版IE,因此了解这些问题的解决方案仍然是必要的。
总的来说,"ext-bug-fix-guig"代表了一个专业的IT实践过程,展示了开发者如何通过对源代码的仔细审查和改进来提升软件质量。这个过程对于维护Linux系统的健康运行至关重要,也体现了开源社区协作修复问题的精神。...
Marlin-bugfix-2.0.x-Ender-5 是一个针对Creality Ender-5 3D打印机的固件优化版本,它基于Marlin 2.0.x框架进行了一系列的错误修复和改进。Marlin是一款广泛使用的开源G代码解释器,主要负责控制3D打印机的运动系统...
同时,改进后的控件渲染引擎提高了界面的显示质量和性能。 #### 三、VB 2005与Windows Forms Visual Basic 2005是Microsoft Visual Studio 2005的一部分,它提供了一个强大的开发环境,用于创建各种类型的.NET应用...
IDE Fix Pack 6.4.4 对于那些使用 Embarcadero RAD Studio 10.3.X 版本的开发者来说,是一个必不可少的工具,因为它有助于消除潜在的障碍,优化开发流程,使开发者能够更加专注于他们的核心工作——编写高质量的代码...
1. **TFT液晶技术**:TFT(Thin Film Transistor)液晶显示屏是一种有源矩阵显示技术,每个像素都由一个晶体管控制,提供了较高的对比度、色彩饱和度和响应速度,适合显示高质量的图像和文字。 2. **LPC2138微控制...
编写高质量的Bug报告是有效管理的关键。遵循“Correct、Clear、Concise、Complete、Consistent”的原则,确保报告的准确性、清晰性、简洁性、完整性及一致性。报告应包含如何重现错误的详细步骤、可能影响因素的初步...
对于依赖Delphi 2005进行软件开发的专业人士来说,这无疑是一次重要的升级,它帮助他们在创建高质量应用的过程中,避免了因IDE问题而引发的困扰,从而更加专注于代码本身的逻辑和功能实现。因此,对于使用Delphi ...
**BUGFREE使用说明** BUGFREE是一款用于缺陷管理的工具,旨在帮助团队有效地追踪和解决...通过以上流程和字段设定,BUGFREE提供了高效的BUG管理和协作环境,确保问题能得到及时有效的处理,提高软件开发的质量和效率。
8. **暂不修复(Won't Fix)**:评估后决定不修复的BUG。 #### 四、BUG严重程度 根据BUG对系统稳定性、功能完整性和用户体验的影响程度,可将其划分为以下几个等级: 1. **致命级(Critical)**:导致整个系统崩溃...
- **坏修复(Bad Fix)**: 在软件开发过程中,修复已知缺陷或错误是常见且必要的工作。然而,在实践中,一些修复不仅未能解决原有的问题,反而可能引入新的错误或未完全修复原有的问题,这种现象被称作“坏修复”。 ...
Easy Logo Remover作为一款专业工具,其优势在于自动化程度高,操作简便,且能保持较高的视频质量。 Easy Logo Remover的1.4.3fix版本包含了安装程序Setup.exe和一个修复补丁"fix"。安装程序负责将软件部署到用户的...
7. **分支管理策略**:在项目管理中,李远超提出了详细的分支管理策略,包括master、bugfix和dev分支,以及针对个人的bugfix和dev分支,这确保了代码的稳定性和开发的有序性,减少了版本冲突。 8. **分层架构设计**...
Bug管理流程是软件开发过程中的关键环节,它确保了软件质量的不断提升和问题的有效解决。以下是对这个主题的详细说明: 1. **错误状态管理**: - **新信息(New)**: 这是错误首次被报告时的状态,通常由测试...
它的目标是通过简洁的方式来帮助开发者更高效地编写高质量的软件。 **主要功能** 1. **面向进度的项目管理**:Trac采用里程碑(Milestone)的方式进行项目管理,每个里程碑包含具体的任务,通过Ticket系统进行跟踪...
2. **非最终版本的bugfix版本使用**:在正式版本发布前,若客户面临紧急情况,可以申请使用非最终版本的bugfix版本,如ACSV68版本。但需要注意,此类版本尚未经过全面测试,可能存在未知风险。在使用前,需向相关...
读者可以从中学习到如何优化打印性能,理解和调整参数以获得更高质量的打印结果。 其次,笔记中包含的《TinyG.xmind》文件是关于TinyG固件的思维导图。TinyG是一款强大的CNC(计算机数字控制)运动控制器固件,它...