2010-09-18 17 views

回答

6

在什麼情況下你的意思是?項目中包含多個標題,或者包含在同一個文件中的多個標題?

儘可能地將代碼分解成不同的文件有助於更容易維護。您不必搜索100,000行代碼以優化一個函數定義,您只需要查看500個代碼即可。另外,它可以加快重新編譯,因爲您可以編譯已更改的文件,然後鏈接到以前的目標文件。

對於特定的C++頭文件,通常每個頭文件只有一個類是一個好主意,因此您將擁有一堆不同的頭文件。再次,這是更加可維護的。

+0

好的,謝謝。我說的是把課程分成多個頭文件,我不知道正確的路要走是什麼,好處是什麼。 – 2010-09-18 04:19:30

+0

@Kevin:在C++中,不可能將一個類分成多個部分。編譯器必須整體看到整個'class Name {...}'。唯一可以移動到不同文件(通常是.cpp文件)的東西是成員函數的主體。 – 2010-09-18 20:11:00

0

我同意。如果代碼被分解成每個文件較小的部分,代碼更容易維護。我曾與許多項目合作,試圖發現問題,當開發人員將多個類放入一個文件時,它變得更加困難。我個人更喜歡將每個課程分成一個單獨的文件,這樣當我查看該項目時,我可以知道課程存在的位置。這留下了混亂的可能性,但是如果命名空間使用得很好,那麼它應該是結構良好的。

1

使用多個源文件來組織代碼可以顯着改善編譯時間,但也可以顯着改善工作流程。它可以讓更多的人同時工作,更少的機會踩到彼此的腳趾。

將類拆分爲多個頭文件並不總是最好的方法,並且通常會導致編譯代碼時出現混淆和問題。

我並不總是建議每個頭文件只有一個類,但每個類只有一個頭。

相關問題