总结近两个月出的BUG
2016-04-29 16:09
267 查看
总结一下近几个月我自己出的BUG
一些重复刷新操作,每次都要局部刷新的数据,这时需要判断几个地方。
(1)在不同的时间刷新时,关键依据字段是否已发生变化,旧数据需要删除,新数据需要添加,该保留的数据不可更改。
(2)数据同步问题,也就是说刷新操作的数据依据是否也存在旧数据,如果存在旧数据,也要清除。
(3)在这里,很容易出现空值问题,一旦未做判断,就会导致代码出错。
翻页问题
在做翻页算法时,第一页pageIndex为1,pageSize为5,实际行号为:0到4,5到9,在写页码处理时,需要将起始行号和截止行号计算出来。
在依赖别人的数据结构时,切记自己要与别人核对一下,
如果可以,须查看一下源码,将自己的理解复述给别人听,否则易出现理解误差。这样做可以尽最大可能一次性把事情做对。
重复计算的问题
在做一个比较大的共用逻辑时,为了抽象出清晰的思路,经常将一些大的方法拆分,在这中间,如果有三条或三条以上的流程存在时,非常容易出现细节问题,因为会受到思维定势的影响。这时,需要抽出时间好好捋顺逻辑,减少重复计算、出现逻辑错误的问题。
List排序问题
之前一直不太确定排序逻辑,这次正式总结了一次,相信以后不会再担心这类问题。
以前写的主要的逻辑总结,需要实时维护,方便理清思路。
最好总结一下整个模块的所有功能
在做一个模块整体改造的时候,经常会漏掉一些功能,这时最好总结一下整个模块的所有功能,写下来,一条一条的过滤,不用花太多时间。
在编写代码时,经常有一些逻辑,自己没有调试跟跑哪怕一次,这是极其危险的!再累再费劲,也必须要做测试。
看遍这几个月的BUG,发现很多BUG都是因为很多逻辑都没有细化考虑清楚,这个原因导致了各种各样的问题,这是花费时间最多的问题!!!
看到这,实在没忍住,吐了。。。
一些重复刷新操作,每次都要局部刷新的数据,这时需要判断几个地方。
(1)在不同的时间刷新时,关键依据字段是否已发生变化,旧数据需要删除,新数据需要添加,该保留的数据不可更改。
(2)数据同步问题,也就是说刷新操作的数据依据是否也存在旧数据,如果存在旧数据,也要清除。
(3)在这里,很容易出现空值问题,一旦未做判断,就会导致代码出错。
翻页问题
在做翻页算法时,第一页pageIndex为1,pageSize为5,实际行号为:0到4,5到9,在写页码处理时,需要将起始行号和截止行号计算出来。
int start= param.pageIndex==1 ? 0 : (param.pageIndex-1)*param.pageSize; int calcEnd=param.pageIndex==1 ? param.pageSize : param.pageIndex*param.pageSize; int end= calcEnd > result.count? result.count : calcEnd;
在依赖别人的数据结构时,切记自己要与别人核对一下,
如果可以,须查看一下源码,将自己的理解复述给别人听,否则易出现理解误差。这样做可以尽最大可能一次性把事情做对。
重复计算的问题
在做一个比较大的共用逻辑时,为了抽象出清晰的思路,经常将一些大的方法拆分,在这中间,如果有三条或三条以上的流程存在时,非常容易出现细节问题,因为会受到思维定势的影响。这时,需要抽出时间好好捋顺逻辑,减少重复计算、出现逻辑错误的问题。
List排序问题
之前一直不太确定排序逻辑,这次正式总结了一次,相信以后不会再担心这类问题。
以前写的主要的逻辑总结,需要实时维护,方便理清思路。
最好总结一下整个模块的所有功能
在做一个模块整体改造的时候,经常会漏掉一些功能,这时最好总结一下整个模块的所有功能,写下来,一条一条的过滤,不用花太多时间。
在编写代码时,经常有一些逻辑,自己没有调试跟跑哪怕一次,这是极其危险的!再累再费劲,也必须要做测试。
看遍这几个月的BUG,发现很多BUG都是因为很多逻辑都没有细化考虑清楚,这个原因导致了各种各样的问题,这是花费时间最多的问题!!!
看到这,实在没忍住,吐了。。。
相关文章推荐
- 数据库字段char varchar
- PCI总线地址空间与系统地址空间的关系
- matlab 绘图总结
- G. Heavy Coins(二进制枚举)
- js自定义命名空间
- tableViewCell详说registerNib: 与 registerClass: 的区别
- Android模拟器2.0初探
- HDU 2438 Turn the corner【三分】
- 二叉树的实现&&递归和非递归方式前序、中序、后续遍历&&发现一个节点中序遍历的下一节点
- 知问前端——按钮UI
- ANDROID L——RecyclerView,CardView导入和使用(Demo)
- 关于SizeOf测定JVM中对象占用内存
- BZOJ4378: [POI2015]Logistyka
- 攻城狮学习之路
- nyoj_74 小学生算术
- nyoj195飞翔DP
- oracle数据库rman备份与还原
- jQuery中数据缓存$.data的用法及源码完全解析
- linux系统被入侵后处理经历 推荐
- Java中的堆排序 (PriorityQueue )