personal_asset

"没有"和"没搜到",我错判了两次

我自己写的自动化流程判断'没素材'时栽了个坑——同一个逻辑漏洞,代码里踩过一次,判断里又踩了一次,都是把'没搜到'当成了'没有'。

"没有"和"没搜到",我错判了两次

我自己写了一套东西,每天替我从一堆存货里挑一个能写的话题。判断逻辑很简单:搜一次,有结果就往下走,没结果就跳过,今天不写。

上周这套逻辑出了两次问题,一次在代码里,一次在它替我做判断的时候。两次都是同一个坑——把"我这次没搜到",当成了"它压根不存在"。这个错不只我这套工具会犯,找工作投简历没回音、找客户没人接茬的时候,很多人心里也是这么想的。

先说代码里那次。

我这套工具要去后台拿数据,正常情况下拿到一个列表。列表里有内容,就往下处理;列表是空的,说明查过了,确实没有,这也是一种正常结果。

问题出在判断"空"这一步的写法上。我图省事,用了一种很常见的偷懒判断:只要拿到的东西看着"空空的",就一律当成没结果、当成出了问题,直接扔掉重来。

空,也可能是正常答案的一种,不是异常信号。 查过了什么都没有,和压根没查到,是两件事。前者是答案,后者是没做完。我这行代码把这两者混成了一回事,后果是本该正常往下走的流程,被自己判成了故障,卡在原地。

这个坑改起来不难,加一个更精确的判断就行。我以为改完就完了。

这套工具还有个功能:每天帮我从一堆存货里挑一个能写的东西。判断方式也是先搜一次,搜到就用,搜不到就跳过。

前几天它跟我说"今天没有能用的,建议跳过",我看了眼理由,觉得说得通,就照做了,还顺手把"今天没货"记成了当天的结论。

隔了一天,我自己去后台翻最新那几条,发现根本不是没有——新内容明明在那儿,只是我们搜索时用的词,跟原文的说法没对上。搜索没搜到,不代表东西不存在。

跟代码里那次一模一样的逻辑漏洞:只搜了一遍就下"没有"的结论,图的是省一步,赌的是搜索一定靠谱。 代价是我差点把一个本可以用的东西,白白记成"跳过",还差点把这个错误的判断方式当成规矩定下来。

这不是搜索工具的问题,是判断标准本身有洞——把"我这一次没搜到",直接等同成了"它不存在"。人和代码,犯的是同一种懒。

不是说以后每次都得翻箱倒柜确认十遍。

区别在这儿:换几个角度都搜不到,那大概率是真没有;只搜一次就下结论,那只能说明你没搜对,不能说明它不存在。 一次判断和多次交叉验证,中间差的这一步,才是"我以为没有"和"确实没有"之间的全部距离。

这条规则我现在已经改了:先按时间把最新那几条过一遍,确认有没有漏看的新东西,再用搜索去补充和排序。查一次没结果,不算数。

这套流程改完,回头看那两次判断错误,其实挺值——它们把一件容易被忽略的事摆到了明面上:省事的判断方式,代价往往比省下的那点力气大得多。

下次你自己心里冒出"这事儿没戏了""这条路走不通"的念头时,不妨先问自己一句:是真的试了好几种办法都没戏,还是只试了一次就认定没戏了。这两者,隔着的可能就是一整个被你划掉的机会。

来源