逻辑漏洞
lanxing_thk
专注于当下,保持敬畏
展开
-
判断List是否存在相同的元素
文章目录1 问题2 最终版3 反思1 问题感觉一个很简单的逻辑,但却写了很久,一版一版地改2 最终版Groovy的写法boolean hasCommonItem(List<String> list1, List<String list2){ if(!list1 && !list2){ return true }else if(!list1 || !list2){ return false } return !Collections.disj原创 2021-09-02 15:53:05 · 1231 阅读 · 0 评论 -
复制代码已经多次引发了问题:遗漏调整、逻辑区分,非常危险
至少要先把copy过来的代码认真读一遍原创 2021-05-31 09:43:51 · 91 阅读 · 0 评论 -
方法中返回null,空对象(直接new一个),空数组的选择
1 问题:这也确实是一个困扰我的原因,间接导致在判断对象是否为null上摇摆不定,如果你有事情摇摆不定,一定有个事情让你不清楚(仅表示代码)2 先列一下平常不知道返回对象,是否可能为空的地方Collectors.asList()返回的结果debug了一下看不懂,还是写个main方法测试一下 List<Integer> result = persons.stream().map(p -> p.getAge()).collect(Collectors.toList..原创 2021-02-06 13:19:50 · 1090 阅读 · 1 评论 -
mybatis xml拼接 in查询时,请确保参数集合size>0
1 问题背景:现网日志有错误打印打印错误:打印sql语句错误: in ()原因:传了一个数组进去,然而这个数组可能是个空数组(size==0),导致无法拼接正确sql疑惑:xml要判断吗?(mybatis xml对数组for循环拼接的sql),可如果判断,这个语句该怎么写?xml可以处理,但是影响代码 可读性<if test="list == null or list.size == 0"> 1=2</if><if test="list != null原创 2021-02-06 12:17:55 · 1469 阅读 · 0 评论 -
一个写代码中的逻辑漏洞
1 背景有这样一个业务if(新增){ do something}else{ 更新 do something}很早以前: 在判断if else做了个业务检查if(某项指标超标){ throw exception}if(新增){ do something}else{ 更新 do something}2 之前又新增加了业务:要再加一个指标判断看到已有指标判断,便想着在已有指标前加上就好if(新指标超标){ throw exception}if(某项指原创 2021-02-05 21:34:39 · 141 阅读 · 0 评论