人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

できるだけフラグを使用しないプログラミングテクニック/設計方法を勉強してみたいと考えています。
概念的・抽象的な指針ではなく、実践的・具体的な方法論を教えてください。

●質問者: my_redo_log
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:フラグ プログラミングテクニック 勉強 抽象 概念
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● hosu
●60ポイント

フラグを使うプログラムは私見ですが、設計不足の場合に多いと思います。

つまり、最初Aという処理で良いと思っていたところ、A内でAA、ABと処理を分ける場合が見つかり、フラグを立てることでAA,ABの何れを実行するか分けるわけです。

対策としては十分に事前の設計・レビューを行なえば自然とフラグは必要なくなります。


例えば一つのモジュール内にON/OFFのフラグが10個あった場合、最大でも1024通りの状態が存在し、カバレッジを100%にするためには1024のテストケースが必要になるわけです。

実際にどれだけのパスが存在するかはMcCabeの複雑度を計測することで判ります。

McCabeの複雑度を計測してくれるフリーのツールもあります。

SourceMonitor

http://www.campwoodsw.com/sourcemonitor.html

常に複雑度を計測して多すぎる場合はリファクタリングを行なうと良いでしょう。

McCabeの複雑度に関しては以下のように言われています。

10 以下であればよい構造

30 を越える場合,構造に疑問

50 を越える場合,テストが不可能

75 を越える場合,いかなる変更も誤修正を生む原因を作る

◎質問者からの返答

回答ありがとうございます。

ただ、対策として、「十分な事前の設計・レビュー」よりも、さらに実践的・具体的な方法論が伺いたいです。

もうすこしミクロな、コードレベルの観点で内容を頂戴した方がよいのかもしれません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ