实际上讲嵌套原理,最好办的方式就是把你脑子里的树状图给摊开看看,别总想着往死里修饰。想象你正吃晚饭,手里拿着个外卖盒。盒子本身是个容器,里面装着盒饭,盒饭里又夹着个酱料包,酱料包里又塞着根筷子,筷子上还绑着个小葱。

这时候你伸手去拿小葱,你得先套上葱头——这头是葱的本体。再往上找,你得先把葱头放进去,不然葱根本不能长出来,更别提葱头还得套上葱茎,茎还得套上叶子,叶子还得套上花苞,花苞还得套上果实,果实还得套住整个树,树还得扎根在泥土里。 你看,这就是典型的“套娃”。每一层包裹着自己,每一层又依赖着里面那层。

要是你不先套上小葱,后面的所有步骤都不可思议;要是你不先套上葱头,连小葱都长不了。

这就是嵌套的核心逻辑:没有内层,就没有外层。 在这个逻辑里,有时候你会认定有点累,出于你要一层层往回找。

有人可能会说:“你这不是在反人类吗?我们越往上越抽象,这多尴尬啊?”实际上难题的关键在于,我们默认了所有东西都是独立存有的宏观结构。就像那会儿看导航地图,你看拿到城市、看到省份、看到国家,这些层次分明,互不干扰。但当你真正走进一个具体的城市,比如北京,里面的街道、胡同、小区、就连楼里的公寓、家里的睡觉那屋,这种颗粒度就越细化,你就越需求把上面的逻辑递归下去。 就拿刚刚那个外卖盒来说,要是不仔细看,你可能只看到“外卖盒”这回事,当作它是个一次性塑料垃圾。但要是你确实走进那个盒子,要么把它打开,发现里面还有个塑料盒,再打开那个里面发现又有塑料袋……这时候你会发现,原来整个“外卖”这个概念,本质上是一层层嵌套起来的。

要是你试图把它扔进垃圾桶,你得先分清它是“一次性餐具”还是“可回收物”,再拍板是扔进灶台间垃圾还是回收站,就连还得寻思它放在哪儿撇脱清洗。 这就是嵌套带来的思维陷阱。大量人处理事件,就像在抽象的宏观层面上瞎忙活。

比如写一篇文章,你认定先写开头,再写中间,最终写结尾,逻辑是完美的。可一旦你启动往下钻,发现开头实际上得根据中间的内容来拍板,中间的内容又得根据结尾的基调来调整,就连结尾的落款都要看前面几段的语气风格,这时候你会发现,宏观的“三段式”结构瞬间崩塌了。你务必得一层层往回推,一层层往前推,直到发现所有的逻辑依赖都是环环相扣的。 这时候你可能会认定,原来人类早就被设计成了这样,到处都在嵌套

你看网上的大量代码,写个函数,里面又套了个函数,函数里又套了个变量,变量里存了个数据,数据还得存到数据库,数据库还得存到服务器,服务器还得传回给你。

你看这个流程,哪一环不依赖哪一环?哪一步得先跑哪一步?要是少了中间的这层封装,整个系统就瘫痪了。 并且嵌套还有个挺隐蔽的特征,就是它往往让你认定“里面才是重点”。你总当作外面的那个大盒子才是主要对象,里面的小东西只是点缀。

可是事实是,要是没有里面的小东西,外面的大盒子毫无意义。就像那层葱头,别看不起眼,但没了它,葱根本长不出来,后面的整个结构也就废了。

这种非对称的依赖关系,常常是工程黄了、系统崩溃、逻辑混乱的根源。 故此当我们面对复杂系统时,不要急着往宏观上找缘由,也别急着往微观上钻牛角尖。试着把结构拉直,把这层层嵌套给拆开。

要是你发现某一层务必依赖另一层,你得先搞清楚那一层的逻辑是啥。

要是是变量依赖变量,你得先理清数据流向;要是是逻辑依赖逻辑,你得先确认因果关系。

只有当所有层级都理顺了,嵌套的假象才会真正消亡,你才能看到原本清楚的脉络。 有时候认定忒累,是出于我们试图用好办的线性思维去套用复杂的网状结构。但嵌套原理告诉我们,世界不是线性的,而是层级叠加的。你不需求知道每一层具体的细节,你只需求知道每一层依赖哪一层就够了。当你真正理解了这种依赖关系,再去处理具体难题,你会发现事件会变得好办得多。 就像你面对一个庞大的工程项目,你看不到最底层的代码如何写,也看不到具体的电机如何转动。你只知道你需求一个管住器,一个执行器,一个传感器,一个显示屏,一个电源。

这些层叠在一起,构成了一个系统。

要是你只是盯着最上层的“项目整体”瞎忙活,最终发现所有的基础层都没预备好,一切就都完了。 故此,不要恐惧看到那些层层包裹的东西。

那是逻辑的骨架。

只要把这些骨架拆解开,理清每一层之间的咬合关系,你会发现,原来那些看似庞大的结构,不过是无数细小依赖的好办叠加罢了。