温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

程序员杀人越货必备良器--排除法

发布时间:2020-07-25 19:48:21 来源:网络 阅读:313 作者:文刀无尽 栏目:开发技术


排除法


先回答上一篇的问题,上一篇说到,如果自己看不到不顺眼的东西,先反省自己是不是错了。这算不算逻辑思维。我定义的逻辑思维,是认识与验证世界的思维。站在存在即合理的角度,每一件东西的存在,就有其合理性。看不顺眼,只能说明一点,就是有自己没看到的东西。所以,看不顺眼之前,第一个要做的事情,不是谴责别人,而是反省自身。使用该逻辑思维,以我自己的经验,每次不顺心之后的反省,我的知识量是增加的。谴责别人,不会给你带来任何的长进。


今天我要讲一下排除法,排除法是我在解决技术问题时,最常用的办法。

我喜欢让技术团队队员们玩一个游戏—“猜人名”。这个题目有一个出题人,心理想一个名字,这名字必须是每个人都知道的。以是虚拟的,可以是现代的,也可以是古代的,可以是神仙,也可以是妖怪。然后让大家猜,大家用最小的问题,把人名猜出来。出题人只能回答是与不是。在技术团队内,一般我会要求10个问题以内。非技术理工人群玩这游戏,可以放大到15个问题以内。


玩这游戏,你需要对人物进行分类,对活与死分类,性别分类,姓名分类,职业分类,朝代分类等等。

比如如果猜孙悟空,包含的属性是:虚拟的,四大名著里的,名字三个字的,师徒四人里的,一一拆解。最终是把目标名字给揪出来。


以我在技术群体里玩这个游戏的经验,大多名字都可以在10个问题内问题出来。玩这游戏的前提是,你对人物属性的分类是熟悉的。如果不熟,一个个猜名字,人记住的名字,少说也成千上万。不可能一个个去试。


一个个去试的办法,我定义为赌徒。

排除法,不是赌,是几近100%达到目标的办法。


如同碰到技术问题,需要去解决的时候,很多程序员生手,使用的就是赌徒的办法,一个个去试。有甚者,试来试去还在原地打圈(试来试去,就是那几个可能性)。如同无头苍蝇一般。


使用排除法的前提,一定需要对出问题的环节组成有清晰的认识。比如一台电脑不能开机。有可能是电脑问题,有可能内存问题,有可能主板问题,有可能插线板问题。而不是脑子里,只有一个词:电脑坏了。我们可能通过,换插线板,把内存拔除,再拿一台电脑来,逐一零件替换... 最后一定可以定位出问题出在哪里。


虽然,更小的细节,比如主板坏了,具体哪个集成电路坏了,或者哪个电容坏了,没办法查,但从大件上来说,你已经定位出来了。你脑子里是有排除法的概念的。如果对电脑的细节不了解,就没有办法对更细一层级使用排除法。但对于电脑维护从业人员来说,他们是要使用排除法的。


回想这么多年的技术生涯,我用得最多的还就是排除法。但排除法的前提就是,你需要对解决问题的对象的原理,要了解清楚。当然了,细度也是无限的,每个人对自己的需要,或者自己的情况,自己掌握需要了解原理的粒度。比如一般人来说,对电脑的原理,就需要知道,硬盘坏掉,内存坏掉,电源坏掉,大概会有什么样的问题。而不需要深入到电路板原理粒度。


做技术时间长,解决问题的办法其实是没什么增长,增长的是知识量。丰度与细度原理的增加。还有就是经验,经验的作用,其实也就是把问题可能性的点排序。有经验的,可能第一个问题,就能把答案问题出来。


比如我曾经有别人玩猜人名,我看到对方眼睛转了几转,最后眼睛停留在我身上,然后皮笑肉不笑地跟我说,我想好了,你猜吧。我说,你猜的是不是我。然后该位兄弟崩溃了。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI