仓库源文

.. Kenneth Lee 版权所有 2018-2020

:Authors: Kenneth Lee :Version: 1.0

逻辑链,道,学和架构工作的本质


在前面的讨论中引入逻辑链的概念后:

    :doc:`关于设计方案中的逻辑链问题`
    :doc:`工程逻辑链`

我发现基于这个概念讨论架构设计的问题特别简单。本文用逻辑链为基础,把我的整个架 构设计理念全部串起来。

用逻辑链理解道和名非常直观。所谓道,就是事实。但事实有三个时态,一个是过去的事 实,一个是现在的事实,这两者,我们统称已知事实。最后一个是未来的事实。我们希望 就已知的事实,分析我们可以怎么做,从而让未来的事实符合我们的期望。

所以,所谓“合道”,如果把时态考虑在内,既表示我们对已知事实判断的正确,也表示我 们最终可以保证未来的事实完全符合我们的期望。

这个理解,代入到逻辑链的描述中,所有的事实,被我们在逻辑链中表达为“逻辑事实”, 然后我们建立一个逻辑链。在已知事实和未来的事实之间,建立一条“路径”,循特定的“因 果”,从已知事实上,到达未来事实上。这就是合道。

而构架设计,整个目标就是达至产品成功,所以,整个构架设计过程考虑的问题,就是如 何认知已知事实,如何设计逻辑链,最终到达“产品成功”这个未来事实的一个方法问题。

在逻辑链设计的过程中,已知事实是最硬的,不可更改,是我们整个工作的准绳。但我们 不一定知道所有的过去和现在的事实,所以知不知上。建逻辑链不需要什么都知道。

而逻辑链的中间节点,是我们“推理”(猜)出来的,这些称为“学”。他们并非一定能变成 事实的。所以“绝学无忧”,我们必须有办法优化逻辑链,避免过多的概念引入,直接吃掉 我们的投资。

上述概念,用图表达如下:

    .. figure:: _static/道1.jpg

对逻辑链进行优化的方法是“不敢为主而为客”,每个逻辑事实的引入,都必须成为最简逻 辑链的一部分。你们看到我前面讨论问题的时候,把“过去的事实”和“现在的事实”合并为“ 已知的事实”,因为在整个逻辑链建立的过程中,少一个概念,逻辑链就简单几分,维护成 本就少几分,我们就有更大的希望让我们的逻辑链合道。

逻辑链的维护(或者说“维持”)成本分成两部分,第一是逻辑链中,被定义为我们必须去 做的事情。(“野外有苹果”,“我们去捡”)->(“我们有苹果吃”),这个逻辑链中,“野外 有苹果”这是没有成本的,“我们去捡”,这个有成本。

降这个成本的方法是“无为”,找到更多无成本的条件加入到我们的逻辑链中,这个成本就 不存在了。圣人之道,善贷且成。你要求“成”,就不能求“我干的”这个名。

逻辑链维护成本的第二部分是“风险管理”(参考:怎样做项目管理),你设计逻辑链,不 可能不引入“学”,但“学”是必然有误判的,因为你有大量的“不知”存在,所以维护逻辑链 的过程中,你会不断发现新的“知”,你要不断修正你的逻辑链,但逻辑链开始运作了,修 正的时候必须使用更多的有成本的工作来维持它的路径。

要降低这个成本,就是道德经中的三要素:慈,俭,不为天下先。

慈,团结更多的力量,为解决问题留下更多的余地,而不用动自己的筹码。当这件事有很 多力量在其中作用的时候,只要有一股力量起作用,这件事情就有转机。如果这件事里根 本就不够力量,这样你再聪明,再多主意,也是得个桔。所以虚心实腹就很重要——理论不 关键,动力才关键。

俭,不轻易用掉自己的筹码。少充英雄,用筹码买名。后面风险无数,把筹码卖掉,遇到 变数只能眼睁睁等死。

不为天下先,减少逻辑,就降低维护成本。控制了逻辑链的熵增,就留给了自己更多的变 化的余地,就有更大的机会到达“功成”那个点。

大部分刚从设计师转换到架构师岗位的工程师,都不能明白这个道理,所以他们解决战略 问题的效率很低。比如,我看到有人讨论retpoline能不能用,如果建逻辑链讨论,很简单 就可以建出这样一个逻辑链来:

    .. figure:: _static/逻辑链1.png

逻辑链建出来了,各个领域的专家去确认这些逻辑事实是否存在不就结了吗?但更多的工 程师会更愿意根据自己的专业领域不断地补充不在这个逻辑链中的其他逻辑事实,而避开 自己不懂的,在逻辑链上必须的逻辑事实。而且就是不肯说一句“这个不知道”。这就是求 礼——“我没错”,“我不露怯”。结果就是一直在原地踏步,永远都没有在达至最后的目标上 有所前进。

而架构师的工作,就是维护这个逻辑链,保证投资一直在驱动逻辑链“前进”,让逻辑链的 每个节点一点点成为“道”。这就是架构工作的本质。

补充说明:这个理论,其实我可以独立于《道德经》的概念直接建模,但当我还是把两者 的概念映射在了一起,这是个令人烦恼的选择。一方面《道德经》生态中的神棍实在是太 多,引入这个概念,被误读的可能性实在很高。但另一方面,《道德经》中的战略战术: 道德经讲了什么?为什么它广受推崇?,几乎可以原封不动地直接指导整个构架设计过程 ,这个概念空间实在不是我应该放弃的。所以,请对这个观点有兴趣的读者,直接阅读我 这里给出的链接,而不要用你理解的标签来理解这里要表述的意思。