4

私は現在、C で大きなプロジェクトに取り組んでおり、その特定の部分を行っています (他の部分は他の人が行っています)。プロジェクトをいつ複数の c ファイルに分割する必要があるか、および書き込みのベストプラクティスは何かを知りたいです。チーム(または単独)による大規模なプロジェクト。私の以前の経験は、ヘッダーに関するものでした (ヘッダーと、すべての関数が記述された .c があります)。

4

2 に答える 2

2

人々はあなたにさまざまなことを教えてくれます。一般に:

  • 次の場合は、ファイルを小さなファイルに分割する必要があります。
    • 多くの依存関係があります
    • コンパイルに時間がかかりすぎる
    • 知っている、またはやりすぎている
  • プロジェクトを次のように編成する必要があります。
    • どのパーツがどのタイプのデータと連携するか
    • どの部分がプロジェクトの他のどの部分と連携するか
  • 避けるべきこと:
    • 特定の注文に含まれている場合にのみ機能するヘッダー
    • プロジェクトの大きなブロブを取り込むヘッダー (依存関係が多すぎる)
    • プリプロセッサ マクロの悪用
    • 「util.c」など。個人的な経験から、彼らは制御不能になる傾向があります

C++ (C ではない) では、私が書く主要なクラスごとに .h および .cpp ファイルを作成する傾向があります。多かれ少なかれ無意味です(逸話的に、SchedulerとSchedulerEventなどのクラスを同じファイルに含む中規模のプロジェクトがあり、SchedulerはSchedulerEventsのコレクションを保持しています。プロジェクトには約180個のファイルがあり、それでも維持は簡単です)。

于 2012-09-19T15:27:59.627 に答える
0

経験則として、型定義 (または密接に依存する型定義) とそのような型を処理する関数を 1 つのモジュールに入れます。

パブリック タイプと関数は.h-file に入り、プライベート タイプと関数、およびすべての実装は.c-file に入ります。

.h-files のない.c-files はまれです。

于 2012-09-19T16:32:34.557 に答える