独りガラパゴス開発
概要
 独りガラパゴス状態な自分がC++での
Windowsソフトウェア開発で使っている独
自且つ自作のものを簡単にご紹介します。
独りガラパゴス開発 2
概要
 solomon
 独自ビルドフレームワーク
 trickerr.h
 独自エラーハンドリングフレームワーク
 バグベアード
 独自デバッグフレームワーク
独りガラパゴス開発 3
SOLOMON
独りガラパゴス開発
solomon
 Windows用コマンドラインビルドフレーム
ワーク。
 https://bitbucket.org/wraith13/solomon/
 ビルド結果別に作業ディレクトリのス
ナップショット(履歴)を作成。
 ビルド結果:コンパイル成否xテスト成否
独りガラパゴス開発 5
solomon
 スナップショット(履歴)
 なぜかエラーになる、あるいは、なぜかエ
ラーが消えたという場面でも、コンパイルの
成否およびテストの成否の状態別にスナップ
ショットが残っているのでディレクトリ比較
することで問題箇所が簡単に明白になる。
独りガラパゴス開発 6
solomon
 スナップショット(履歴)
 お一人プロジェクトや、新プロジェクトの初
期段階で、スナップショットがバージョン管
理ツール代わりになって重宝します。
独りガラパゴス開発 7
solomon
 スナップショット(履歴)
 スナップショットは最終版だけを残したり、
自動的にzipファイルに固めたり、テストは無
しでコンパイルの成否だけを見るようにした
りといろいろカスタマイズできます。
独りガラパゴス開発 8
solomon
 自動ビルド
 ファイルの更新を監視してファイルが更新さ
れたら自動的にビルドを行うこともできます。
独りガラパゴス開発 9
solomon
 おまけ
 エクスプローラの[送る]メニューに登録してお
くことで簡単に日時ZIPを作成する機能もあり
ます。
独りガラパゴス開発 10
TRICKERR.H
独りガラパゴス開発
trickerr.h
 C++用エラーハンドリングフレームワーク
 http://tricklib.com/cxx/dagger/trickerr.h
公開場所を bitbucket に移行予定。
独りガラパゴス開発 12
trickerr.h
 例外と同じく関数呼び出しのインタ
フェース上には現れずにリスナーによっ
てエラーをハンドリング。
独りガラパゴス開発 13
trickerr.h
 エラー発生時に処理の中断・継続を呼び
出し側に設置するリスナーで制御可能。
 例外のthrowのように処理を中断すべきかどう
かは呼び出しのコンテキストに依存すること
が多く、末端の関数内では決めようがない問
題を回避。
独りガラパゴス開発 14
trickerr.h
 ツリーエラーモデル
 エラー情報をツリー構造で扱う。
独りガラパゴス開発 15
trickerr.h
 RAIIが真価を発揮できる。
 RAII的にはデストラクタで後処理を行うのが必
然だがデストラクタには戻り値もなく例外を
使ってしまうと二つ目のエラーが発生した時
点でアウトだが、エラーのハンドリングをリ
スナーで行いエラー情報をツリー構造で扱う
ことによりRAIIがその真価を発揮できる。
独りガラパゴス開発 16
バグベアード
独りガラパゴス開発
バグベアード
 C++用デバッグフレームワーク
 http://tricklib.com/cxx/ex/bugbeard/
公開場所を bitbucket に移行予定。
独りガラパゴス開発 18
バグベアード
 ステートメントハックを使った暴力的な
機能。
 トレーサー
プログラムがどのような挙動をしたのかログ
ファイルから詳細に追跡できます。
 プロファイラ
プログラムのどこで時間を喰ってるのかホット
ポイントが一発で分ります。
独りガラパゴス開発 19
バグベアード
 ステートメントハックって?
 #define if(X) if (省略) のような形で予約語の多
くを改ざんし、ソースコード全体にわたって
強制的にデバッグの為の埋め込みを行う。
独りガラパゴス開発 20
まとめ
独りガラパゴス開発
独りガラパゴス開発 まとめ
 solomon
 ビルドの結果別にスナップショットを作成。
 ソースコードが保存されたら自動ビルド。
 trickerr.h
 ツリーエラーモデル。
 末端のコードでは処理の中断・継続の設計判断が不要で、
呼び出し側のリスナーで制御。
 バグベアード
 ステートメントハックによるコード全体のトレース。
 ステートメントハックによるコード全体のプロファイル。
独りガラパゴス開発 22

More Related Content

PDF
flash develop
PDF
FlashBuilderでスマホアプリ開発
PDF
Flash Developerになる4つのヒント
PDF
FlexUnitテスト
PDF
serviceクラスをやめようサブクラスを使おう
PPTX
Chrome-eject がこの先生きのこるには
PPTX
エラーハンドリングモデル考察
PDF
Doc and Error Handling
flash develop
FlashBuilderでスマホアプリ開発
Flash Developerになる4つのヒント
FlexUnitテスト
serviceクラスをやめようサブクラスを使おう
Chrome-eject がこの先生きのこるには
エラーハンドリングモデル考察
Doc and Error Handling

Viewers also liked (7)

PPTX
LUCIFERの設計コンセプトと 導入予定の機能紹介
PPTX
バグベアード入門
PPTX
C++0x総復習
PDF
Prism.Formsについて
PDF
10分でわかる無料になったXamarin
PDF
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
PDF
Xamarin.forms入門
LUCIFERの設計コンセプトと 導入予定の機能紹介
バグベアード入門
C++0x総復習
Prism.Formsについて
10分でわかる無料になったXamarin
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin.forms入門
Ad

More from 道化師 堂華 (9)

PPTX
Reflection with xamarin.forms
PPTX
C++ tips4 cv修飾編
PPTX
C++ tips 3 カンマ演算子編
PDF
C++ tips2 インクリメント編
PPTX
C++ tips1 #include編
PPTX
C++プログラマの為のセキュリティ入門
PPTX
エラーハンドリング
PPTX
マスタリング バベル
PPTX
並列プログラミング 入門!&おさらい!
Reflection with xamarin.forms
C++ tips4 cv修飾編
C++ tips 3 カンマ演算子編
C++ tips2 インクリメント編
C++ tips1 #include編
C++プログラマの為のセキュリティ入門
エラーハンドリング
マスタリング バベル
並列プログラミング 入門!&おさらい!
Ad

独りガラパゴス開発