ブログトップ 記事一覧 ログイン 無料ブログ開設

Strategic Choice

2013-07-31

[][]戦略編:プリプロセッサ接合部

Problem

私のプロジェクトはオブジェクト指向ではありませんが、どうすれば安全に変更できるでしょうか?

プロジェクトでは、C言語を使っています。

Strategy

「プリプロセッサ接合部」を適用します。

どんなとき?

「リンク接合部」が最適な選択肢にならない場合があります。

「リンク接合部」は、プログラムをリンクする時点でライブラリを置き換えるため、ビルドする実行形式ファイルごとに関数の定義を1つしか用意できません。このため、擬装した関数の振る舞いをテストごとに変えたい場合、関数の本体にコードを記述し、テストに合わせて設定した条件に応じて期待する振る舞いを行わせる必要があります。

このことは全体として混乱した状況を招きます。ただ、残念なことに、多くの手続き型言語では他に選択肢がありません。

どうする?

「プリプロセッサ接合部」を使用します。

主流の言語の中で、C言語は、プリプロセッサを備えた数少ない言語の1つです。C言語を使用しているのであれば、「プリプロセッサ接合部」を使用することができます。

プリプロセッサの濫用は混乱を招きますが、接合部として使うと非常に有用です。ファイルの取り込みとマクロによる置換は、厄介なコードの依存関係を克服する手助けとなります。用途をテストコードに制限する限り、マクロの使いすぎによる本番コードへの悪影響を心配する必要はありません。

関連

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証