TDDへの興味は薄いのだけど、思うところがあって購入。
テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計
- 作者: James W. Grenning,蛸島昭之,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/04/24
- メディア: 大型本
- この商品を含むブログ (13件) を見る
実は、下回りのstatic関数をスタブに差し替える良いアイデアが無いか探していたのだけど……本書いわく、関数ポインタかマクロを使うしかないようだ。
関数ポインタを使うアイデアは悪くないのだけど、静的に関数呼び出しを解析できなくなる欠点がある。例えばHEWのCall Walkerあたりは静的な解析を元にコールスタックを計測できるのだけど、関数ポインタを使っている部分は手動で調整する必要がある。「手動で調整するとコールツリーのビューが全展開される」という謎の挙動と相まって、計測できなくはないけど非常に面倒で手間がかかる。
マクロを使う方法は――本書の方法だと、関数定義部分の名前まで置き換えられてしまう気がする。というかGCCではそうだった。他のコンパイラではどうなのだろう?
さしあたり、私の望むものは見つからなかった。とはいえ全体的には良さそうな本だ。後でゆっくりと読むことにしよう。