记一次令人哭笑不得的bug


Bug 背景:

我项目组需要从B项目组同步一些订单数据,B项目组提供一个dubbo接口给我调用。B项目 依赖jar 之前已经引入,并且对应的DTO 也使用过。

由于要区分测试数据和真实数据,订单有个测试标。我们项目组字段叫is_test ,取值 规则0 代表 真实数据,1 代表测试数据。

看了项目中引入B 的DTO 中测试标 也叫is_test ,我特意看了 其他用判断测试数据代码是 is_test == 1。因此我十分肯定,加确定 B项目的is_test也是

0 代表线上数据,1代表测试数据。

但是由于我的需求是查询真实数据,所以我写的查询条件是is_test = 0;需求太简单了,领导也允许我自测上线,我也信心十足,第二天产品慌张地找我线上数据乱了,真实数据被当成测试数据了,让我赶紧修复。我也慌了,怎么会有问题,一查数据库,怎么有is_test = 2 的数据,然后我下载了它们代码,看到注释 赫然写到

/**
**  1  =>  测试数据,2 => 真实数据
*/
private int isTest;


当时瞬间我血压升高,幸好他不坐在我身边,不然要挨一耳光。我细细数了下,就这一行代码。他犯了多少错误。此时,我突然想起高中一个小插曲:

话说某日课间休息期间(午饭后下午上课前),几位同学在打牌,不幸被一领导看到了,记下名字,然后找我们班主任了。几位打牌的其中还有一位成绩不错的,班会上班主任说,你们至少犯了四大错误

虽然我班主任是数学老师,说话很有水平,回到我细数这个同事代码过错,也至少犯了四大错误

这就是一个简单的命名规范,甚至约定俗称,常识性的东西,偏偏有人不遵守,当然本人也有犯错的地方

还是那句话,对任何代码都要有敬畏之心,尤其涉及线上订单等敏感数据。


推荐看下

阿里开发规范

stackoverflow 程序员必备

github

展开阅读全文

页面更新:2024-04-25

标签:哭笑不得   订单   接口   定义   错误   真实   类型   代码   代表   项目   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top