转行自动驾驶算法之路,修bug的一些心得

作者 | 哎嗨人生  编辑 | 自动驾驶之心

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心技术交流群

本文只做学术分享,如有侵权,联系删文

回家过年!

入职一两个月以后,对项目代码熟悉了,电脑的开发环境也配置好了,如果没有遇到开发新项目的节点,那么我们大概率就要开始修bug了。这里记录一下我关于修bug的一些心得体会。包括在心理上如何应对,在技术上如何处理等。

40bd7002b3873c8c17da048483477921.png

1.bug有哪些类型

我分为四类,即紧急bug 、不紧急bug、自己引入的bug、前人留下的历史bug。四个类型可能有重叠,不是很严谨。

(1) 紧急bug

比如现场反馈的严重问题,有安全隐患的bug,或者严重影响用户生活工作的bug。这种一般会引起领导重视,如果我被安排处理这个bug,那将是比较痛苦的。不分昼夜,不分假期,领导会24小时随时询问进展,直到bug修复为止。

(2) 不紧急的bug

比如一个不痛不痒的小bug,或者是算法性能上的一个小瑕疵,需要调参优化。这种bug一般不着急,画个一两天时间处理了就行。

(3) 自己引入的bug

这类bug,不管严重不严重,自己都会比较紧张,因为是自己引入的,总会想着赶紧修复了。这种bug,分析和定位问题一般比较容易,自己也清楚应该如何修复。

(4) 前人留下的历史bug

如果是前人写的代码出了问题,而前人已经离职了,那这种bug就只能先看代码,理解这段代码的功能逻辑,然后再去修复。此类bug修复起来要极其谨慎。

2.应对时的心理

初入职场时,我总是觉得所有的bug都很严重,尤其是自己引入的bug。一听说有bug,瞬间压力报表,感觉这个bug不处理,会影响全人类的生存似的。就弄的自己很紧张。其实没有必要给自己这么大心理压力。写bug很正常,无论新手还是老手,所以不要有心里负担。咱就是个打工的,bug分析不出来,修复不了,公司也不会倒闭,自己也不会被开除,地球也不会毁灭。(当然如果bug严重到自己会被开除,那也认了)。

刚入职那年,我一遇到bug,饭都不吃了,没心思吃,全身心扑在处理bug上,整个人处于高压状态,直到修复完成。下边是我总结的一下心得:

(1) 写bug是正常的,无论新手老手,当然如果太频繁的话,就得反思一下了。

(2) bug是处理不完的,这就是工作的常态,所以该吃饭吃饭,不要有心里压力,你又不是公司老板。

(3) 无论多严重的bug,只要不会导致自己被开除,就不要太紧张,自己尽力去做就行。

3.修复bug的一些经验

(1) 积累自己的测试集

这个是我第一次转行入职的那家公司的领导教给我的。当时规划器的一些参数需要调整,以应对一些场景,但是总是调参后,这个场景可以了,其他场景又出问题了。领导让我积累一些数据,每次调参以后,都要过一遍数据,看看对其他场景的影响。所以,我就收集了大量的数据,写了脚本去批量测,然后结果存成图片,每次调参后,就浏览图片就行。

(2) 最小改动原则

对于紧急bug,或者前人留下的bug,要本着最小改动的原则,避免引入新的bug。如果修改了某一个参数,务必全局搜索一下,看看有没有其他地方在用。这样,即便这个bug修复不成功,也不至于引入新的bug。

另外,对于修复bug时,代码尽量新增在一个地方,即宁可在一处新增一个函数,也不要在老的函数里到处修改。

(3) 新增代码务必每一行都测试到

对于修复bug而引入的代码,自己自测时,一定要运行过每一行,再不起眼的一行代码,都要运行到。因为bug很可能藏在你认为不会出问题的地方。

(4) 崩溃检查

但凡用到了数组下标,指针,new,都要确认是否为空,有没有delete,这些是最容易崩溃的地方。

4.总结

(1) bug是工作的一部分,需要习以为常,不要一有bug就坐立难安,该吃饭吃饭。

(2) 写bug很正常,不要有心里负担,如果没有bug,那就不需要员工了。

(3) 对自己的代码负责,上线前充分自测。

(4) 只要不会导致自己被开除,那就不要过分紧张,用平和的心态去认真对待每一个bug

(5) 公司是老板的,身体是自己的,不要自己给自己压力,把压力就在老板那里。

过年回家了,祝大家新的一年,工作顺利,bug都能一眼看出来。

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

149bb79ea0164fb3e6f227eacc0e964e.png

网页端官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

f555669892c0214b39fbf781b7df0e3e.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!

自动驾驶感知:目标检测、语义分割、BEV感知、毫米波雷达视觉融合、激光视觉融合、车道线检测、目标跟踪、Occupancy、深度估计、transformer、大模型、在线地图、点云处理、模型部署、CUDA加速等技术交流群;

多传感器标定:相机在线/离线标定、Lidar-Camera标定、Camera-Radar标定、Camera-IMU标定、多传感器时空同步等技术交流群;

多传感器融合:多传感器后融合技术交流群;

规划控制与预测:规划控制、轨迹预测、避障等技术交流群;

定位建图:视觉SLAM、激光SLAM、多传感器融合SLAM等技术交流群;

三维视觉:三维重建、NeRF、3D Gaussian Splatting技术交流群;

自动驾驶仿真:Carla仿真、Autoware仿真等技术交流群;

自动驾驶开发:自动驾驶开发、ROS等技术交流群;

其它方向:自动标注与数据闭环、产品经理、硬件选型、求职面试、自动驾驶测试等技术交流群;

扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

35dfe42aa5f0ff0723b364e4feddefc4.jpeg

④【自动驾驶之心】硬件专场

6fd90a008d60c804e32b6dcc45542188.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值