菜鸟日记

代码这行并不像大多人想的那样,不是所有人有几年工作经验就是大佬,要看这几年你做了什么,得到什么,入行两年,浑浑噩噩,本想想靠混经验拧螺丝混到30改行,幸好被人一朝点悟。不爱这一行,就不会有心去钻研,去走向更高端;不去积累,写完就忘,除了流程熟练,跟新手没啥区别;重复造轮子,不动脑子,不如去工厂。
写个菜鸟日记,记录自己犯的各种错误,提醒着自己,希望我能有所改变,或者达到更高的蜕变。

2021年2月9日 18:38:56
出现问题:
1.判断错误状态不全面,看到成功与失败都是20000就只考虑了状态码为20000的情况;
2.下面代码重复判断为空的情况;
3.为空判断写反
解决方案:
1.仔细看文档,看清楚了,记住,老是看完只记住一部分,直接忘记其他的存在算什么。物流商给的字段不能保证全部存在,一定记的先判断是否存在,在判断是否为空!!
2.代码有个全局的概念,复制过来的也要想下别人为什么这样写,复制过来放那,跟自己功能部分重复都不知道就太傻了。
3.写完测试两遍,跟自己想要的结果不一致心里不该有个疑问吗!?

2021年2月19日 20:30:27
出现问题: 1.同一条数据查询出两条结果;
2.出现一些无用代码,自己也不知道为什么加;
3.开始的代码出现问题,后面围绕这个问题写了一堆;
4.where条件数据验证
解决方案:
1.同一个数据存在两个字段一致的情况,分别查询再合并之后数据就多出来一条,可以优化where条件,一次查询出结果,提升效率并解决两条数据的问题,如下:

$where = "a.tracknumber in (\"{$search_value_str}\") or a.pxid in (\"{$search_value_str}\")";

2.还是复制过来代码没有细看的原因,觉得功能相似,就留下无用代码,但只要细看代码并明确需求,就很容易发现此处用不到;
3.出现问题,解决问题,超出自己能力范围的寻求别人帮助,我今天问了同事,结论跟我一样无法解决,然后我就心安理得的放弃解决那个多出数据的问题,下次记得跟组长确认,大佬总能知道我知识盲区的问题;
4.tp5框架查询方式where条件为空的时候会出现查询报错,我在查询数据为空的情况下去查询了一个不存在的数据,功能实现了,但是逻辑不应该如此,应该提前对where条件验证,存在往下走,不存在直接return提示.

2021年2月27日 12:48:34
出现问题:1.物流渠道提示:该物流渠道不允许线上发货!;
2.在js中使用??运算符报错;
解决方案:
1.这种一般是渠道代码错误,跟物流商确认;
2.个别浏览器不支持这种写法

2021年3月5日 09:42:16
首页查询,新增了一个查询条件去匹配备注中的某段文字,我理解为:既然要选这个条件,肯定是需要查询那段文字,然后就只做了:选中条件,直接模糊查询备注字段

出现问题:查询的条件有是否,做的时候没有考虑否的情况
在这里插入图片描述
修改:

case '15': // 是否配送合并计划
                    if($is_yes == 1)
                    {
                        $where[$alias['pkg'] . '.remarks'] = ['LIKE', "%配送合并计划%"];
                    }else{
                        $where[$alias['pkg'] . '.remarks'] = ['NOT LIKE', "%配送合并计划%"];
                    }
                    break;

2021年3月9日 15:20:33
最近工作有点少,出的bug也少,有点飘,复制来代码,一看能运行,直接提交,逻辑也没细看,结果,更新的时候还带着id,只存了创建人的姓名没存id,姓名不存在的时候居然存了之前的创建人姓名(id与姓名对不上号),自我感觉没问题,被问到的时候居然还理直气壮的解释了这个写法的用意…臊的慌…

2021-03-30 20:52:48
完成是什么?我一直以为是功能实现,今天发现是每一行代码都跑过,正确或者错误,得到了想要的测试结果。
一直以来奉行的是能跑就行原则,写个数据,运行,出结果,ok,在写个错误的数据,返回错误的结果,完美。这样一直忽略了数据来源问题,数据是自己造出来,而真实的生产环境生成,就会出现测试没问题,一跑就完蛋的情况。
今天就是流程都跑通了,但是header中的参数传错(后面发现只要那个参数不为空接口就会返回success),虽然没有返回我想要的数据,但是看返回信息结构与文档一致,ok,一定是发货时间太短,没有来得及生成,等等就行提交完事。
提交之后被组长发现错误指出才明白,对header中参数理解错误,一字之差,天真的以为文档作者和我一样不严谨,侥幸以为是一个意思。

2021-08-04 16:41:54
好久没写,是有些飘了,记录一个今天的错误。
需求:欧盟国家海关编码必传。
错误:1.没有弄清数据结构,循环报错;
2.没有去除海关编码两测的空格导致验证不通过,加个循环的vlaue前加个&,既能验证,又可以直接修改原数据,省去业务因空格原因去修改数据;
3.逻辑乱了,数据验证不严谨, 循环错误的数据,粗糙测试就过了

if(in_array($data['countrycode'], $this->eu_country)) //判断是否为欧盟国家
    {
        $no_hgbm_sku = [];
        foreach($data['goods'] as $key => &$value) //循环商品详情数组
        {
            if(isset($value['goods_sn'])) //判断是否为组合sku
            {
                $value['goods_hgbm'] = trim($value['goods_hgbm']); //去除海关编码两边的空格并替换原数据
                if(empty($value['goods_hgbm']) || strlen($value['goods_hgbm']) < 6 || is_numeric($value['goods_hgbm']) == false) 
                {
                    
                    $no_hgbm_sku[] = $value['goods_sn'];  
                }
                continue;
            }
            foreach($value as $combine_key => &$conbine_goods) //为组合sku验证
            {
                $conbine_goods['goods_hgbm'] = trim($conbine_goods['goods_hgbm']);
                if(empty($conbine_goods['goods_hgbm']) || strlen($conbine_goods['goods_hgbm']) < 6 || is_numeric($conbine_goods['goods_hgbm']) == false)
                {
                    $no_hgbm_sku[] = $conbine_goods['goods_sn'];
                }
            }
        }
        if($no_hgbm_sku)
        {
            $sku_str = join(',', $no_hgbm_sku);
            return $this->back(0, "SKU【{$sku_str}】海关编码为空。欧盟国家海关编码不能为空且必须为大于6位的纯数字,请联系产品开发修改重试!");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值