私はC/C++ソースコードの非常に小さな部分に取り組んでいます。プログラムはstdinから入力値を読み取り、それらをアルゴリズムで処理し、結果をstdoutに書き込みます。
これらすべてを1つのファイルに実装するだけですが、アルゴリズムのテストケース(入出力の読み取りではない)も必要なので、プロジェクトには次のファイルがあります。
- main.cpp
- sort.hpp
- sort_test.cpp
私はすぐにsort.hppにアルゴリズムを実装しますが、sort.cppは実装しません。かなり短く、依存関係はありません。
ヘッダーで定義された関数は、単純なアクセサー/ミューテーターではなく、高度なアルゴリズムであっても問題ない場合があると思いますか?それとも私がこれを避けるべき理由がありますか?いつコードをヘッダーからソースファイルに移動する必要がありますか?