如何组织我的c代码

bre*_*ett 9 c

我有大的主文件包含大约7,000行C代码.如果我想使这个代码模块化并将代码与此文件分开.将函数分离出文件的主要标准和应保留在文件中的函数是什么.

Mit*_*eat 6

按功能/责任分手.

例如,将所有字符串处理放在一个模块/文件中,将文件处理放在另一个模块文件中.


Edw*_*eno 6

  • 遵循先前的建议.
  • 通过创建函数消除任何重复或几乎重复的代码.
  • 按功能和依赖性进行组织.模块应具有尽可能少的相互依赖性.
  • 遵循SOLID原则和其他设计模式和实践(所有这些都可以在某种程度上在C中实现).

我喜欢使用自上而下的代码分解.例如:

main()
{
    Initialize();
    Introduce();
    while (some_condition)
    {
        DoSomething();
        DoSomethingElse();
    }
    SayGoodbye();
    Shutdown();
}
Run Code Online (Sandbox Code Playgroud)

main()应该是短和对点,给你的程序从一个高层次所做的简要概述.这些功能中的每一个都可以以类似的方式分解.这应该继续,直到最低级别的功能具有单一的,集中的目的(逻辑模块化).这些函数可以放入其他.c/.h文件中以具有物理模块性.

祝好运!