![](https://img-blog.csdnimg.cn/20200509174540246.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
头铁
这里面记录一些平常在项目里面看到的一些个人看着不太舒服代码片段,
估计都是脑子一热写下来的。
小目标青年
分享不仅为了别人,也是为了自己.
- JCccc 想进学习交流群的直接加我就好。
展开
-
写代码的七八九十宗罪,多图、胆小慎入!
写代码的罪行,我愿静思悔过。原创 2022-08-12 15:39:04 · 4138 阅读 · 60 评论 -
【硬着头皮】PageHelper 必须用来分页?
前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:项目查询数据需要分页查询,因此引入了PageHelper。然后出现需求,一个接口需要分页查询,一个接口是查询全部。作案手法:作案者机智地写了两个查询接口,一个使用PageHelper做为分页,一个不使用。盘问:来自我的友好试探:这么写着不累么?作案者平淡无奇:那有啥办法,这边分页查询,那边说不用分。我:你不是用来PageHelper么,为啥还要写两套...原创 2020-08-14 14:11:50 · 1209 阅读 · 1 评论 -
【硬着头皮】你还在用size来判断集合是否为空?
前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:从数据库查询出来的list 或者 map ,确保里面包含元素再执行相关业务逻辑。作案手法:盘问:来自我的友好试探:你段代码没报错么?如果数据库返回null?这不炸了?作案者猛然一惊:谢谢提醒(还挺有礼貌)。作案者重新进入案发现场,进行犯罪痕迹销毁(自信):我:这么一看确实ok,但是有没有觉得代码写的很蠢? 每次一个查询都写两个小if?作案者(似懂非懂),...原创 2020-08-14 10:24:24 · 1427 阅读 · 0 评论 -
【硬着头皮】switch很少看到,还是写 if 吧?
前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:很多错误码的判断,好几个独立的错误码都需要判断后返回一些相关的提示语。作案手法:使用if语句 (其实这样写很正常)盘问:来自我的友好试探:像这种情况,写成switch也可以。作案者坚定地说:switch不好用,很少看到,像那种or的场景不知道怎么弄,还得一个个弄。我:其实针对这种单纯的判断逻辑,用switch 是可以实现的,而且相对于if来说不需要一个个...原创 2020-05-13 11:53:10 · 1020 阅读 · 10 评论 -
【硬着头皮】 比较多个数的大小,麻烦也写得整洁点
前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:顺延上次的一个案发现场比较两个产品下单数的大小,发现这个案发现场, 比较近一个月的每日下单产品下单数的大小,获取出最大日下单量是多少。没有直接从数据库里使用 max,现在只获取出了订单的日下单量的集合。作案手法:作案者是同一个人,这次使用了 for循环+if判断,让人目睹起来十分残忍凌乱。盘问:没有盘问,毕竟实现的思路是一致的,只是想让代码变得整洁点。 直接看...原创 2020-05-11 10:28:37 · 886 阅读 · 0 评论 -
【硬着头皮】 比较两个数大小,麻烦写得整洁点
前言硬着头皮看看... 这些都是发现在一些项目里面的一些代码片段。正文案发现场:从数据库里面查出两款竞争产品的订单下单总数,想比较两个数的大小,得出最大的那个数。作案手法:盘问:来自我的质问: 可以写成三木运算符返回比较值。作案人自述: 很少写那种格式,不太喜欢。我(若有所思):那不如直接用封装好的吧,代码可读性高些。改动 方式1:改动 方式2:...原创 2020-05-11 10:13:26 · 860 阅读 · 0 评论 -
【硬着头皮】 喂,你不就想想看数组里的值么
前言硬着头皮看看...正文案发现场:数组里面很多数据,在调试数据的时候,想打印下来,核对数据正确性。作案手法:盘问:来自我的质问:我刚刚看你那个数组遍历打印是做啥的?作案人自述: 只是看看里面的值,正式不会保留的代码,无所谓的,一会删掉。我(若有所思):哦好的,但是其实看数组里面的数据没必要自己写遍历的,来看这个。改动:...原创 2020-05-11 09:52:22 · 777 阅读 · 0 评论 -
【硬着头皮】 停手,时间格式转换不一定要在外面转换
前言硬着头皮看看...正文停手,时间格式转换不一定要用代码。案发现场:数据库里面的时间查询出来的格式是 ,"yyyy-MM-dd HH:mm:ss" 这样的。但是第三方接口要我们变化格式返回给他们,现在是变成这样,"yyyy-MM-dd'T'HH:mm:ss" 。作案手法:盘问:来自我的质问:你,如果查出10w条或者更多数据,你这样搞好吗?作案人自述: 我没有错,你总得转格式吧,否则你变魔术?我(若有所思...原创 2020-05-09 17:41:06 · 859 阅读 · 0 评论 -
【硬着头皮】 你在筛选List里面的数据么?
前言硬着头皮看看...正文你在筛选List里面的数据么?案发现场:现在查询出来很多用户信息,但是第三方那边接口一个要全部人名,一个要全部用户id。作案手法(不算作案):友好交流:我: 嗯。作案人(握紧拳头):你干嘛啊?!我(不假思索):这次你不用提交代码,其实用stream流看着舒服,一起看看。展示:...原创 2020-05-09 17:17:09 · 881 阅读 · 3 评论 -
【硬着头皮】 去重确实可以这么去,但是
前言硬着头皮看看...正文这样去重并没有错。案发现场(不算作案):用一堆订单信息放在一个list里面,但是里面有很多重复的订单,现在避免订单通知发货重复,需要简单去重下。作案手法(不算作案):友好交流:我: 这样去重没错。作案人(握紧拳头):那你还顶着我这代码看啥。。这样没问题。我(不假思索):这次你不用提交代码,我给你看下这一行代码。展示一行代码去重:...原创 2020-05-09 17:02:27 · 886 阅读 · 1 评论 -
【硬着头皮】 你别查询了,不就id么?
前言这个专栏里面的文章,都是我在一些项目里面看到的一些个人认为手法比较骚气的代码,我就想记录下来,仅此而已。真实的项目代码不会贴出,但是会把场景复现出来,让大家一起硬着头皮看看...正文你别查询了,不就id么?案发现场:用户账号注册进来,数据插入数据库后,需要去除新增的id作为用户id使用。作案手法:盘问:来自我的质问: 你干嘛又查一遍啊?作案人自述: 我想拿出用户id啊,不查怎么来,主键是自增的又不是我们自己生成的?!我...原创 2020-05-09 16:37:03 · 914 阅读 · 2 评论 -
【硬着头皮】 你在玩的什么Map啊
前言这个专栏里面的文章,都是我在一些项目里面看到的一些个人认为手法比较骚气的代码,我就想记录下来,仅此而已。真实的项目代码不会贴出,但是会把场景复现出来,让大家一起硬着头皮看看...正文你在玩的什么Map啊???案发现场:就是从第三方接口那边收到了一些订单信息,然后经过一些业务逻辑之后,需要新增两个额外的参数再去使用。作案手法:盘问:来自我的质问: 你为啥不直接用原来的map,再加新参拿去调通知发货接口?作案人自述: 原来的map后面还要用,不想...原创 2020-05-09 16:18:59 · 982 阅读 · 4 评论