2010-09-05 67 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文件中的聲明越少,它就越模塊化。按功能分組非常重要。有外部聲明是非常糟糕的,給那些額外的'罰款'。