【OSG】OSG运行模型

关于运行模型

OSG中的类很多,只看OSG代码,很难把各个类串联起来。

我们知道面向对象程序的运行模型是:对象+对象间协作。

单纯看代码,多数情形下,只能了解程序中有哪些对象,而不知道它们是如何协作的,这是目前IT行业中,源码阅读最大的痛点。说直白一点,就是拿到源码也看不懂,或者说很难看懂。

开发者在开发程序时,首先要设计程序的运行模型,然后根据运行模型编写代码。所以,阅读源码和编写代码是一个相反的过程。

至此,看不懂源码的原因就比较明显了:

源码是静态的,而运行时的程序是动态的,想通过静态的代码信息掌握程序运行时的规律,其中缺少的重要信息是 程序运行模型

程序运行模型信息从哪来呢?答案是 项目文档。
项目文档是项目的元信息,完善的项目文档是项目可维护性的保证。在做实际项目时,公司都会要求产出项目文档。同时,这也是软件工程的要求。

下面说说开源,由于开源项目作者精力时间问题,很多开源项目是没有文档的。这就导致一些开源项目虽然很优秀,但是对普通开发者来说,学起来比较困难,这就形成了学习的门槛。这一现状很难在短时间内改变。

除了项目文档,以下部分也可以提供额外的信息:

  • 项目的提交历史
  • 项目提供的代码示例

但是这些相对于项目文档而言,具有不全面、信息零散的缺点。而且这些信息并不是直接的运行模型信息,需要源码的阅读者根据这些信息进行推导,猜测,验证。

为什么不直接提供程序的运行模型呢?这也是我后面将要做的事情,大家如果感兴趣,都可以参与进来。

OSG运行模型

OSG运行模型

posted @ 2022-05-22 11:21  撬动未来的支点  阅读(63)  评论(0编辑  收藏  举报