ikautak.log

C/C++, Python, CUDA, Android, Linux kernel, Network, etc.

C++のためのAPIデザイン 2章まで

C++のためのAPIデザイン

C++のためのAPIデザイン

  • 作者: マーティン・レディ,Martin Reddy,三宅陽一郎,ホジソンますみ
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2012/11/02
  • メディア: 大型本
  • 購入: 4人 クリック: 106回
  • この商品を含むブログ (8件) を見る

第1章 はじめに

APIを設計・利用すると、コードが堅牢になり、再利用しやすくなり、同僚と並行開発もできる。
ライセンスに問題があったり、ソースがクローズドとかドキュメントがないとかだと、そのAPIを使用しない方がいいときもある。

自分がファイル形式やプロトコルを作ったら、そのAPIも必ず作れ。

第2章 優れたAPIの特徴

APIは解決してくれる問題領域のハイレベルな概念で作れよ。ローレベルな実装の話は隠せ。
.hに宣言、.c/.cppに定義を書け。メンバ変数・実装メソッド・実装クラスをカプセル化しとけ。

プリミティブなAPIと、それを利用したハイレベルなコンビニエンスAPIの両方があってもいい。(OpenGLがいい例)
関数名や引数名は、わかりやすく、間違いにくく、一貫性のあるものにしろ。
相互独立性を保って、他の関数に迷惑をかけるな。

スマートポインタ・ScopedMutexでリソースをしっかり管理しろ。
プラットフォーム切り分けの#ifdefとかをパブリックヘッダに入れるな。

APIはできるだけ疎結合・高凝集にしろ。
機能・動作・ベストプラクティス・エラー条件を文書化しておけよ。