在当前正在开发的项目中,最近进入测试阶段,遇到了几个比较揪心的问题:
其一,数据插入问题,在上一篇博客中大致也是解决了这一问题,虽说没有解决所有的,也解决了很大一部分不安全输入导致的报错问题,当然,这个项目目前还没有遇到学校的项目几十个字段一起传输的问题,所以在此问题上没有遇到多少问题,但是因为这个项目表的相关性比较多,往往删除一个数据就会导致一级一级的往下删除。遇到比较就行的是一个删除分类导致弄到了用户表的数据删除,结果写下去发现,这样一弄 一个删除基本上就把几十个表排查一遍之后一个一个删除,对于这样的情况,其一的解决方案是遇到此类关联性比较多的采用假删除的方式处理,不过也导致有较多的无用数据残留,不过最起码也解决了报错的问题,解决报错问题目前是删除有关联表的时候使用try catch 本地也能检测出一些问题,同时避免线上直接出现500的情况
其二,数据空与非空处理后的数据类型问题,这点在与IOS配合的时候尤其明显,当然这个也是在写程序的时候考虑不全导致数据类型发生变化,一一修改需要较多的精力和时间。
其三,数据结构,API中遇到比较多的就是省市区的查询,有一个需求就是显示的时候按照首字母排序分类,若是单纯的将数据在一个数组中返回,移动端往往不是很好处理,这也就需要将不同首字母的归类到一个大的数组中,最后一把返回,目前使用的是foreach,相当不好用,不过还没找到好的解决方案,也希望有好的方法的可以提供一下好用的方法解决二维数组的归类问题
其四,分页问题,因项目需求,导致同一个控制器往往有很多页面会跳入查询数据,这就导致了在原有的分页查询处理上还需要对此进行处理,因为后续的跳转查询是后加的,也就导致后面的分页没有处理查询条件导致了一些数据错误出现,此类问题出现也不止一次,对此也希望写代码的时候可以对不同的跳转多做处理以免出现。
其五,连表数据的删除问题,此类bug也是遇到比较坑的一个问题,往往在数据真删的时候因为考虑不全没有考虑相关数据问题,导致后续数据量多了的时候出现一些垃圾数据,出现此类bug,主要问题有2点,一是因为连表查询的时候表连接顺序弄错导致。二是因为相同ID的数据,一个是会出现若是有唯一性验证,报错问题,此类问题往往很难排查到具体出现的地方,二是会导致数据错误,导致信息泄露问题出现。
以上是目前遇到较多的bug,也希望后续可以妥善的处理避免此类bug的出现,当然,若是能完全规避当然也是笔者希望能做到的。