选择关键词
写VBA的这段日子,我觉得自己的脑子越来越习惯用那种方式思考。如果你要把一件经常做的事情程序化,你就得抓住一些关键点。虽然流程大概差不多都那样的,但实际上人在操作的过程中还是有一些关键。如果想把那些流程标准化、自动解决问题,你就得把那些模糊的关键点全部都明确,比如看到什么关键词进行什么操作,这得一清二楚,而且这些关键词的选择还得考虑不容易被干扰。这些关键词的选取对一般人来说是没什么概念的,他们觉得大概应该那样,但实际上你要在一堆东西里面选取关键词,绝对不能像在一些标准序列里面选其中一个那么自然。
有一天同事发微信过来说我上报的某个数据好像不对,因为他筛选出来的结果不是那样的。我不知道为什么会发生这种事情,因为在上报那个数据之前,我已经再三核对。又过了一段时间,他又发微信过来告诉我,是他筛选的时候出现了一些干扰项,之前他没看到。他在去向字段筛选的关键词是Q3,理论上那是一个仓号,对绝大多数人来说,如果只说这两个字,也会觉得这是一个仓号,但问题是那天刚好遇到某个车的车牌里有这个Q3这两个字,于是他筛选到的结果跟我计算Q3的数量当然就有区别了。这个时候,如果他筛选的关键词不是Q3,不是Q3-01就不会有这种问题,因为没有一个车牌会有“-”。如果他选的是Q3-01,那么那些Q31、Q35的仓号也不会干扰到他的筛选结果。我不知道浪潮那些筛选项是如何设置的。如果是以前的那个系统,以前的那个需要运行exe的系统筛选,你还得选择到底是什么形式的筛选,是等于大于还是包含。现在浪潮那个在网页上运行的系统筛选词就只是模糊匹配。如果去向那里必须精确匹配,你不写Q3-01就返回不到你要的结果,他也不会遇到车牌号这种事情。把车牌和仓号按照流向放在来源和去向,从一开始我就觉得这很逆天。如果一开始就给我这样的数据,最后我还得通过入库和出库去判定到底哪个是车,哪个是仓。如果我的同事查找数据的那个界面没有这种来源和去向,只有流向、仓号、车船号,显然他一定会在仓号那里选Q3,而不会去车船号那里输入Q3,这样的话也不会遇到他碰到过的问题。
对编程的人来说,尤其是对那些专门要把某些程序自动化的人来说,非常在乎关键词的选择。因为把一些老表格自动化的过程中你会发现那些东西根本不是标准的字段模式。要怎么把那些非标的东西标准化,你就得绞尽脑汁选择关键词,怎么才会不重复?怎么才能实现你的目的?当然了,之所以这么说是因这些标准化是基于Excel工作表的,如果那本来就是一个数据库里面的东西,即便他们不愿意标准化,有些东西也不得不标准化。
当你强迫自己以某种方式去思考以后,经过一段时间的锻炼,你会觉得自己在不知不觉之中有了那种条件反射的能力。