最近在编写代码时,发现bug较多,因此我认为应该认真反思,总结出bug的产生原因,以及从中汲取经验,以便在以后的开发过程中避免出现同样的问题。
代码能力不够
底层理解不够
Qt开发时,即使在正常开发时不会遇到太多问题,但在定制一些复杂控件时,容易出现渲染问题或控件崩溃等问题,这往往是由于对源码不熟悉,以及底层逻辑没有清晰把握所致。
开发语言理解不深
C++ 这门语言因其复杂性,即使编写了许多代码,仍然可能出现内存溢出或者野指针等问题。这可能是由于程序设计本身有问题,也可能是由于对语言的理解和细节把握不够所致。
整体逻辑不清晰
当多人一起开发时,由于每个模块不是由同一个人完成,在阅读代码逻辑时,可能会出现偏差,从而导致接口调用出错。另外,有些接口在开发过程中没有正确设计,也会导致接口职责不清晰。
需求不明确
沟通不充分
当收到需求时,应该进行全面的思考和研究,以免在开发初期就出现不合理的设计,从而导致程序日益累积不合理的代码,最终容易崩溃。
理解不够
对于一些需求,在刚接收到的时候,我们会觉得没有什么问题,但是在开发完成后,发现和需求方的要求有些出入。有时候是因为自己的理解偏差,有时候则是因为前期沟通不够充分。
没有考虑到的操作
异常操作
对于开发的功能,若没有充分考虑异常场景并进行有效的规避和处理,在质检中就会未能发现,而这种在一些用户非常规操作下出现的崩溃会比较难定位,也很难复现,特别是在没有任何采集的情况下。
不同操作的组合方式
在进行几个功能的叠加操作后,可能会出现一些意想不到的崩溃,这种情况往往是由于数据错乱所致。虽然有的地方会做出异常处理,但是大部分情况下,由于正常逻辑下不会出现数据不对应的情况,因此没有做出特殊处理。