コンテキスト: C 言語、8 ビット マイクロプロセッサ
プロジェクト (製品) 間で再利用できるコンポーネントを特定しました。しかし、再利用可能なコンポーネントを処理するのに最適なインフラストラクチャを見つけることができません。
私が今まで見つけた2つの可能性:
- 静的ライブラリ
- Subversion の共有ファイル
共有ライブラリと共有ソースの両方を使用すると、プロジェクト間で共通のコードを共有できます。ライブラリは 2 つの選択肢のうち優れたものを提供するため、プラットフォームで利用可能な場合はそれらを使用する必要があります。これにより、ソース管理のコードがローカルで変更された場合に発生する可能性のある不注意な変更からライブラリのソースを保護できます。
ライブラリを介してコードを共有する場合の唯一の問題は、組み込みツール チェーンの一部のツール (インサーキット エミュレータに接続されたデバッガなど) によるライブラリ コードのソース レベルのデバッグがサポートされていないことです。この場合、ソースを介してコードを再利用することが許容される場合があります。可能であれば、ファイル システムのアクセス制御によってソースが変更されないように保護する必要があります。
再利用可能なコンポーネントがある場合は、ライブラリが最適です。
私の会社では、両方のアプローチを同時に使用しました。
Makefile
最初にライブラリをコンパイルします。このようにして、両方の長所を活用できます。
このアプローチの唯一の欠点は、開発者が何をしているのかわからないことです。ライブラリを変更する場合、その変更がすべてのプロジェクトに影響することを知っておく必要があります。しかし、すでにバージョン管理システムを使用しており、ブランチを使用していてチーム内のコミュニケーションが良好であれば、まったく問題はないはずです。