代码离成为最好的双链文档还差什么

林一二2022年01月27日 22:03

代码是很好的结构化信息,任何一个变量、函数,都可以在 IDE 里自动化地找到对它的使用和调用,同样从使用和用处也可以查找到它们定义的位置。

但代码之于双链文档,就像区块链之于Web2.0互联网:

  • 区块链上的资产可以在链上来回交易,但它们没有和现实世界的资产直接交换的方式,最后通过预言机或是中心化交易所,才能完成与链下资源的交互和锚定
  • 一段使用单字母变量名运行复杂算法的代码,是无法为人类所理解的,只有使用含义来自现实世界的变量名(让变量名是自然语言单词的组合),才能完成结构化信息与现实世界意义的结合

代码里的引用结构如果可视化出来,将是一个图状结构,而内部根据不同的用户故事又会形成一颗颗相对独立的树状调用结构。这些内在的联系和结构使得代码足以成为一个模因,而它与其它模因的结合位点,就是代码中的「自然语言单词组成的变量名」。

当然,我们还会通过添加注释这类元信息,来辅助我们理解变量;通过添加类、私有修饰等辅助结构,帮助我们理解别人编织模因时的意图,来增加其模因性,让它能被更多人理解。但添加代码与现实世界的链接是编码中最难的一步,除了编程语言本身以外,我们还有哪些工具可以辅助我们做这一步呢?

gtoolkitLeoEditor等可视化和文式编程工具可以辅助我们做到这一点?

Code
代码是很好的结构化信息,任何一个变量、函数,都可以在 IDE 里自动化地找到对它的使用和调用,同样从使用和用处也可以查找到它们定义的位置。

但代码之于双链文档,就像区块链之于Web2.0互联网:

* 区块链上的资产可以在链上来回交易,但它们没有和现实世界的资产直接交换的方式,最后通过预言机或是中心化交易所,才能完成与链下资源的交互和锚定
* 一段使用单字母变量名运行复杂算法的代码,是无法为人类所理解的,只有使用含义来自现实世界的变量名(让变量名是自然语言单词的组合),才能完成结构化信息与现实世界意义的结合

代码里的引用结构如果可视化出来,将是一个图状结构,而内部根据不同的用户故事又会形成一颗颗相对独立的树状调用结构。这些内在的联系和结构使得代码足以成为一个模因,而它与其它模因的结合位点,就是代码中的「自然语言单词组成的变量名」。

当然,我们还会通过添加注释这类元信息,来辅助我们理解变量;通过添加类、私有修饰等辅助结构,帮助我们理解[[别人编织模因时的意图|程序语言里的私有方法是知识管理方法]],来增加其模因性,让它能被更多人理解。但添加代码与现实世界的链接是编码中最难的一步,除了编程语言本身以外,我们还有哪些工具可以辅助我们做这一步呢?

[[gtoolkit]]和[[LeoEditor]]等可视化和文式编程工具可以辅助我们做到这一点?