一般公開を念頭に置いて、Windows C++ ネイティブ ライブラリ (2002 年以来の継続的な取り組み)を書き直しています。過去 10 年間、私は 150 以上の KLOC の唯一の受益者であり、他の人もそれをうまく利用できると感じています。
現在、ライブラリ全体は完全にテンプレート化されており、ヘッダーのみです。これは、すべてのコードがクラスの本体にあることを意味します。管理は簡単ではありませんが、問題ありません。
いくつかの C++ ライブラリのコーディング ガイドラインを読んだ後、.hpp
+.inl
ファイルに分割したくなりました。いくつかのクラスで実験的に行われ、可読性が向上し、他の人が扱いやすくなります。いつでもすべてがどこにあるかを知っています。しかし、他のユーザーは、クラス宣言の簡単な概要を知りたいと思うかもしれません...そして必要な場合にのみ定義(デバッグ) .
質問:
クラス テンプレートのクラス定義からメンバー定義を分割することの長所と短所は何ですか? 一般的に受け入れられている慣行はありますか。
一方通行なので、これは私にとって重要です。後で別の方法でリファクタリングすることはできないので、フィードバックは重要です...