代码之家  ›  专栏  ›  技术社区  ›  Hassan Syed

c程序建模惯例[关闭]

  •  0
  • Hassan Syed  · 技术社区  · 14 年前

    我使用的源代码库几乎完全是用straight-c(nginx)编写的。但是,它确实使用了丰富的高级编程技术,如编译时元编程和OOP—包括运行时调度。

    编辑

    我已经开始阅读Diomides Spinelles的《代码阅读——开源视角》一书的摘录。这本书的目的是教你如何阅读大型复杂系统的代码,而c语言似乎是这本书的主要语言。第一章介绍了UML作为建模语言的选择。

    我相信我应该能够遵守这本书中的惯例。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Andrey Vlasovskikh    14 年前

    C语言中的类函数式代码组织是常用的。根据这个 “班级模式” 对于过程语言,函数的前缀是“class”名称。还可以区分构造函数、访问器和变异器函数。将这些东西映射到UML类图是很简单的。同样,这种模式是相当普遍的今天,所以它是值得借鉴的。

    UML序列图不能直接应用于C函数,因为没有类似receiver的对象 this 调用图

    在C代码中很常见隐式定义的有限状态机(FSM)。尽管它们不能直接用C来表示,但在许多情况下,开发人员使用它们来构造控制逻辑。这样的例子 “FSM模式”

    最后,但并非最不重要的是,文件分解的可视化表示可以提供相当多的信息。可以使用UML包图来实现这个目的,其中包包括函数和静态数据。