2010-09-05 68 views
9

我有大的主文件包含大约7000行的C代码。如果我想使这个代码模块化并将代码从这个文件中分离出来。将文件和函数分离出来的主要标准是什么?如何组织我的c代码

+2

看看这篇文章,我不知道它是否可以帮助,我认为它可以 http://stackoverflow.com/questions/3615789/what-to-do-about-a-11000-lines- c源极文件/ 3617776#3617776 – 2010-09-05 04:12:21

回答

6
  • 按照以前的建议。
  • 通过创建函数消除任何重复或几乎重复的代码。
  • 按功能和依赖关系组织。模块应该尽可能少地相互依赖。
  • 按照SOLID Principles和其他设计模式和实践(所有这些都可以在一定程度上在C中实现)。

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

main() 
{ 
    Initialize(); 
    Introduce(); 
    while (some_condition) 
    { 
     DoSomething(); 
     DoSomethingElse(); 
    } 
    SayGoodbye(); 
    Shutdown(); 
} 

main()应该简短而中肯,给你的程序从一个高层次所做的简要概述。这些功能中的每一个都可以以类似的方式分解。这应该继续下去,直到最低级别的功能具有单一的重点目标(逻辑模块化)。这些函数可以放入额外的.c/.h文件中以实现物理模块化。

祝你好运!

6

按功能/责任分解。

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

4

这是一个简单的测量:.h文件中的声明越少,它就越模块化。按功能分组非常重要。有外部声明是非常糟糕的,给那些额外的'罚款'。