さぼり気味

学習内容

  • CodeComplete 第2版 上
    • 14章 ストレートなコードの構成
    • 15章 条件文の使用
    • 19章 制御構造の問題
  • プログラマが知るべき97のこと
    • 97.ステートに注目する
    • 82.他者への思いやりを意識したコーディング

実行順序の依存性を明白に

ルーチン名、引数、コメントなどを使って依存関係を明白にする。

深いネストの回避

Steve McConnell著 (株)クイーブ訳 CodeComplete 第2版 上 日経BPソフトプレス p.546 によると

Noam ChomskyとGerald Weinbergの研究では、3レベル以上のif文のネストを理解できる人はほとんどいないことが示されている(Yourdon 1986a)

とのこと。
対処法として

  • 条件の部分的な再評価
  • if-then-else文への書き換え
  • case文への書き換え
  • 深くネストしたコードのルーチンへのファクタリング
  • オブジェクトとポリモーフィズムなディスパッチの使用
  • 状態変数を使ったコードの書き換え
  • ガード句を使ったコードの書き換え
  • 例外の使用
  • 深くネストしたコード全体の設計の見直し

が挙げられている。

コードの複雑さを定量化する

Tom McGabeの手法である判定ポイントで定量化する方法がある。
重要なのは複雑さを軽減すること。

モーダルダイアログ

一度開くと他のダイアログは操作できないダイアログのこと。