作成日 2012/5/26 最終更新日 2012/5/26
 
問題2.15(問題タイトル:アンチパターン) 
オブジェクト指向設計についての問題(中級レベル)です。 
問題タイトル:アンチパターン 
重要度:★★★☆☆(普通) 
難易度:★★★☆☆(普通) 
 
 
 
  
  
問題タイトル:アンチパターン 
重要度:★★★☆☆(普通) 
難易度:★★★☆☆(普通) 
 
問題:以下はアンチパターン名前と説明もしくは特徴の一覧である。a〜gをア〜キに正しく関連付けよ。
 
 
 a.コピー&ペーストプログラミング 
 b.肥満児 
 c.機能的分解 
 d.車輪の再発明 
 e.溶岩流 
 f.スパゲティコード 
 g.文書軽視 
 
 
 ア.オブジェクトのメソッドに引数がなく、グローバル変数やクラスの静的変数を操作している。 
 イ.既に知られている解決方法などを採用しない。 
 ウ.プロトタイプのソースをそのまま流用した時に起こりやすい。 
 エ.ブラックボックス的再利用ではなく、ホワイトボックス的再利用を行っている。 
 オ.ドキュメントや設計書がなく、バックアップ、不測事態への考慮がない。 
 カ.一つのクラスに大量の(60以上)属性や操作がある。 
 キ.関数のような名前がついたクラスがある。 
 
問題文終わり 
 
    
注意:これ以上、下にスクロールすると解答・解説が見えちゃいます。  
  
  
解答:a-エ、b-カ、c-キ、d-イ、e-ウ、f-ア、g-オ 
※部分点は存在しませんよー。1つでも間違えたら0点です。 
 
解説: 
 特にオブジェクト指向設計・プログラミングに関する部分を解説します。 
 
 a.エ 
 コピー&ペーストプログラミング 
 まあ、この名前は一度は聞いたことはあるのではないでしょうか? 
 部品化が適切に出来ていない場合に起こりえます。 
 まあ、難しい場合もあるのですが・・・。 
 
 b.カ 
 肥満児 
 機能の詰め込みづぎです。この場合、多くの場合、モジュールの強度が悪くなっています。 
 
 c.キ 
 機能的分解 
 データ中心で設計されていません。この場合も、多くの場合、モジュールの強度が悪くなっています。 
 
 d.イ 
 車輪の再発明 
 勉強不足ですね。 
 今回はアンチパターンに関しての問題ですが、デザインパターンについても勉強しましょう。また、既にあるライブラリ(例えばlog4cpp)のソースを見て、理解すると勉強になることがあります。 
 
 e.ウ 
 溶岩流 
 オブジェクト指向設計・プログラミングとしてコメントすることは特にありません。 
 
 f.ア 
 スパゲティコード 
 ちょっと難しかったかな? 
 この場合、モジュール間の結合度が悪く(強く)なってしまっています。 
 そうすると、修正やテストに多くの工数がかかるようになってしまいます。 
 
 g.オ 
 文書軽視 
 オブジェクト指向設計・プログラミングとしてコメントすることは特にありません。 
    
    
  
  
 このページを作成する際に参考にしたページや、もっと勉強したい人向けの資料です。 
 
  
    
      番号 
 
    
      著者名 
 
    
      書籍名 
 
    
      ISBN 
 
   
  
    1 
    W.J. ブラウン (著), 3,Hays W. McCormick (著), Raphael C. Malveau (著), Thomas J. Mowbray (著), William J. Brown (原著), 岩谷 宏 (翻訳) 
 
    アンチパターン―ソフトウェア危篤患者の救出  
 
    978-4797321388 
   
 
 
 
このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方は
メール をお願いします。
 
Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft
Corporationの米国およびその他の国における登録商標または商標です。 
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。 
Mac 、Mac OS 
、Mac OS 
X は米国Apple 
Computer,Inc.の登録商標または商標です。 
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。 
 
このホームページの作成者はこれらの会社とはいっさい関係がありません。