前段时间解决了一个bug。这个bug是前端js调用百度echart时产生的,而我做data science的工作js是不熟悉的。解决一个不熟悉领域的bug,总归是让人感到成就感的。而解决这个bug的过程也比较曲折。
这个bug具体是调用百度echart但是设置的option出不来。调颜色、线条粗细都不管用,统一默认格式;但是调整图例legend是能出来的。进一步发现,后台的数据也传成功了。我就觉得这是option有关的bug 。所以我就把自己的option复制粘贴到了官网的实例上,结果运行成功!我当时就晕了,觉得很奇怪;思路一下就断了,再加上自己对这个业务的不熟悉和对刚工作的自己的不自信,居然脑子里就被一种奇怪的认为这事奇怪的情绪笼罩了。我开始问熟人,熟人的反馈让我更加陷入“奇怪”的囹圄,于是项目停滞。
现在想想,我真是傻!别管什么领域的,就一个思想:unit test,或者都不是unit test,就是逐行检查。那现在option对了,data也对了,就再去查一查别的句子。设置option之前是类的初始化,这不会有错了。还有可能是异步同步传输的问题,于是我试了一下,不管异步同步都是一样的问题,而且数据传进来了,legend也就是option的其中一项也能改,所以不应该是这个问题。那么好了,最后js还有哪里有问题?最一开始的导入src!当时我可能真是查这个bug时间长了,一下灵感闪现:可能是echart版本对!一查还真是,我按照version3去写的option,结果调入了version2。哈哈bug让我找到了。
想起来当时查bug一个成功的因素:我奇怪了一段时间之后我斗志昂扬同时心平气和,相信科学而摒除了奇怪的念头。否则,一个觉得bug奇怪的程序员,怎么能找到再平常不过的bug呢?