实习时踩过的那些坑(一)

前情提要

在经过了一段时间的工作环境适应和开发环境环境熟悉后,这一轮终于是能够开始做task练手了。这轮拿到的是个关于excel宏的任务,要做的就是在里面添加个新的功能逻辑。

故事是这样的

拿到要更改的excel文件后,第一件事就是打开vba看看宏长什么样子。第一眼的感觉是这样的:
在这里插入图片描述
还好还好,找到了main入口就可以去探索这个宏的奥秘了。
做这种改别人代码的事情最重要的找到代码的cutpoint。

坑1:

作为实习生当你的项目是在就得项目上面做修改的情况下,特别是里面的代码逻辑特别多且复杂的情况下,一定要找老同事询问后再开始你的任务。可能你自己在那里琢磨半天,别人一句话就给你搞定了。

在历经千辛万苦后,终于顺利的写好的宏代码,并在本地测试成功了。git提交到仓库后,上传到测试环境后,同事突然告诉我:excel文件中的宏文件运行不了。
作为第一个task,竟然直接上去就出bug了,当时的心情是这样的:
在这里插入图片描述
无奈,只能拿到代码debug了。又是一顿不停的f8(单步调试),终于找到了问题所在,原来是excel的文件名必须要截取两个下划线之间的公司名,但是测试的excel文件名中没有公司名,所有无法匹配公司名,然后就保持了object require的错误

坑2:(注释很重要)

可能前人写代码的时候忽略了测试环境的命名规范问题,而且并没有注释告知后人。所有,你永远不知道前人给你留下了什么坑,唯一能做的就是以身试毒。请注意类似的情况一定要写在代码注释中,不然很容易让人怀疑人生的。

因为测试环境是很多人公用的(这个和自己独立开发不同)。拿到手的文档中本来是不应该有重复的公司名的,不然代码就会出错。但是测试当天测试环境上面竟然出现了三条相同的公司名字,最关键的是事先我并不知道同一公司不能有重复数据出现这个逻辑,然后报出bug够又是号一顿的f8,终于在快要下班的时候找到了问题所在吗。

坑3:(测试数据很重要)

作为一名程序员,请相信你自己的代码,遇到bug后第一反应应该是测试数据的问题,既然都提交了,肯定是有通过了测试的数据的。所以第一反应不应该是去找代码中的问题,而是应该找测试数据中的问题,或者说用之前能成功跑出来的测试数据跑一跑。

感想

不懂真的要多问,自己去探索可能花费了大量的时间,却还是不得其道。面对前人的代码,就要站在前人的肩膀上改代码!

发布了13 篇原创文章 · 获赞 3 · 访问量 2756

猜你喜欢

转载自blog.csdn.net/yinyiyu/article/details/88576241