はじめに
Amazon.co.jp: テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計
本書で学習を始める人が、環境構築で躓かないようにしよう!で始めたシリーズの最終回です。
これまでのシリーズ一覧はこちら。
テスト駆動開発による組み込みプログラミングをgoogletestでやる
テスト駆動開発による組み込みプログラミングをgoogletestでやる8章
テスト駆動開発による組み込みプログラミング~モック&フラッシュドライバ編~
SOLIDな設計
本章では、密結合したLEDドライバコントローラを、SOLID原則のうちオープン・クローズドの原則とリスコフの置換原則を適用して動的インタフェースに変更していきます。
詳細は、書籍をご覧下さい。
↑を↓に。
レポジトリ
https://github.com/tomoyuki-nakabayashi/TDDforEmbeddedC_SolidDesign
下準備完了したコミット:
SHA:4b0857eeb273736d7e5cf9d2c424e99797f31fbd
今回、かなり下準備に手間取りました。(サンプルにノイズが多い…)
書籍を写経しながら進める場合は、↑のコミットから開始してください。
さいごに
本書では、C言語でTDDを行う方法だけにとどまらず、C言語でテスト容易な、柔軟な設計を実現する方法が解説されています。
そのためには、関数ポインタを有効利用することが必要になります。
書籍内で指摘されていますが、関数ポインタは設計に重要な役割を果たすのに、C言語プログラマに見落とされがちです(私自身も含めて)。
このような重要なテクニックを学べる本書は非常に価値あるものであり、多くの組込みプログラマの皆様に読まれて欲しいと感じました。
TDDによるC言語プログラミングは、非常に楽しいです。
組込み開発に従事しているプログラマが、C言語でのTDDを始めるのに、この記事が役立つと幸いです。
現在、CMakeでのビルド環境を準備中です。
幅広い環境で勉強できるように環境構築していく予定です。