bug的分类
语法上的问题:
(1)在循环的时候,一定要注意这个循环的对象是否是空对象;空对象就不需要进行循环了,
判断一下,空对象就不需要进行循环了;
(2) 在XXX.a属性的时候,要注意这个对象是否有这个key;
可以是用关键字in; 'key' in boj 有这个字段就是true,没有这个字段就是false
(3) 对以显示的内容;都应该考虑内容过长怎么处理这个问题;
通过的解决办法是超出 显示省略号
(4) 在弹框添加内容后;清除数据; 不要让数据有引用值;
(5) 限制用户的输入;用户输入太长了,可能报错;
(6) 文件上传时,应该检查上传文件的格式是否正确;以及验证文件的大小;
文件格式检查办法
var fileName =params.file.name;
var fileArr = fileName.split('.');//将字符串转化为数组;
var fileType=fileArr[fileArr.length-1];//获取数组最后一个就是文件的格式类型
(7) 时时注意自己的代码有没有异步操作,应为异步可能会发生意想不到的情况;
比如下面这个就是异步造成的bug;写代码时,随时注意这样做会不会产生异步
imsendStart(item){
//教室所需要的的参数
var treeArr_params=[];
// 查询教室参数
let treeidParams={
id:item.id
}
this.$api.sever(treeidParams).then(res=>{
if(res.success==true&&res.data){
treeArr_params= res.data.map(v=>v.classroomId);
}else{
treeArr_params=[];
}
})
let params={
classroomId:treeArr_params, //这里可能拿不到值,因为这里可能会产生异步这样的情况
}
this.$api.immediatelyStart(params).then(res=>{
})
},
(8)视图没有跟新的情况
// 渲染接口
postTestRenderTestListApi(){
this.$api.postTestRenderTestList().then(res=>{
if(res.success==true){
if(res.data&&res.data.length>0){
this.schoolTestList=res.data;//赋值语句 是有问题的;如果只有一条数据,这条数据被删除后;就不会走到if语句体里面;
//就会出现视图未跟新这样的情况;在else中处理一下
}else{
this.currentOrder=-1;
this.$emit('nodatahander')
}
}else{
//因为没有数据他返回的是false
this.schoolTestList={};
}
})
},
细节:
(1) 在上传文件的过程中,应该有提示语;表示文件正在上传中;
操作上的问题
(1) 在表格中删除数据时,第1页页以后的数据,在删除的时候,将页码重置为1;
然后在调用更新接口,如果第二页有一条数据,那么删除后,可能会出现没有数据这种情况;
因为此时页码是2,所以没有数据了;
(2) 在小程序中,下拉刷新 上拉刷新 的时候,注意数据是否有堆叠这种情况;
(3)
很多时候,我们都需要存储用户点击的值,
那么什么时候应该存储用户的值
就显得非常的重要了,
我有些时候喜欢在用户点击的时候,
就把值给存储起来了;
其实这是非常的不专业的;
并不是用户点击了就处理了值;
应该是用户点击了确认按钮,你才应该存储值
后面在写今天只想到这么多了
今天又增加了一些,希望自己每天都可以进步;