随笔 - 96  文章 - 0  评论 - 682  阅读 - 22万

赶走最令人不愉悦的一类BUG,你准备好了么?

   

    在团队开发过程中,发现bug和处理bug似乎是一件很平常的事情,但是,我们有没有考虑过,造成这些bug的原因,进而会占用我们大量调试时间的根源都有哪些呢?


    你可能会对这个问题不屑一顾,既然是bug,无非就是因为程序代码运行出错,或者由于相关设定没有正确配置的关系。没错,上面两种情况的确会造成bug,但是相对而言,这两种bug一般耗费的时间也不会太多,因为程序层面的问题或者配置方面的设定,基本都可以在很少量的调试过程中被发现,尤其是函数错误,一般情况是很容易定位的。


    我们最容易忽略的一个bug来源,它也可能是最令我们感到气愤的一个,那就是由于并行开发,导致的开发版本不同步造成的bug,这种bug的特点比较鲜明:一般都会让我们再千辛万苦调试到问题的根源后,发现原来是因为没有更新代码,或者因为更新了错误的代码……


    这时,你的脸色或许很不好看,因为非但没有半点成就感,反之却是一肚子的不高兴。

    这个问题在我们集中开发功能的时候和提交版本的前期尤其频繁,因为我们频繁更新代码,而每个人都有很大的可能性修改相同的文件,再加上更新着如果不仔细比较,找出其中的交叉变更,覆盖掉别人修改的内容,那就真的是不可饶恕的错误……随之而来的就是一个接着一个的领人痛苦的bug,痛苦的最大原因即没有任何成就感……


    这个问题虽然很难避免,但是,只要我们在代码更新上强调规范,同时在开发规范上着重强调对数据库和系统核心模块的变动应该慎之又慎,那么就能明显改善这个噩梦。看似简单的事情,做起来一般都不简单。


    回想下我们自己更新代码的时候,我们做到了先仔细对比自己和服务器上文件版本的差异,然后逐个更新检查完毕的公文,并在check in过程中填写修改原因了么?还是错略看了一下,甚至不进行对比,直接问下同事是否有过改动,然后就直接check in,而且任何原因都没有……,我想大家都会有自己的一个答案.

   
    而所谓好习惯,虽然起初会感觉有所多余,但是我们一定能够在后面的开发中,逐渐发现它的价值,虽然,它的价值所在就是让你很难感觉到它的存在……

 

posted on   酸甜西瓜  阅读(1769)  评论(4编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
< 2010年2月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 1 2 3 4 5 6
7 8 9 10 11 12 13

点击右上角即可分享
微信分享提示