codecomplete読み(2)

Code Complete第2版〈上〉―完全なプログラミングを目指して

Code Complete第2版〈上〉―完全なプログラミングを目指して

19章 制御構造の問題

  • 深いネストを減らすテクニック

 ・条件の部分的な再評価
 ・if-then-else文への書き換え
 ・case文への書き換え
 ・深くネストしたコードのルーチンへのファクタリング
 ・深くネストしたコード全体の設計の見直し など

  • 構造化プログラミング

 →核心はプログラムは入り口1つ、出口が1つの制御構造を使用すべき

  • 構造化プログラミングの3つの要素

 ・連続(代入文、ルーチン呼び出し)
 ・選択(if-then-else文)
 ・反復(while, for文)

  • 制御構造の複雑さ

 →理解の労力≒構造の複雑さ
  →なるべく複雑さを取り除いた形を目指す

  • 複雑さを軽減するためには

 ・プログラムを理解するために必要な頭の中で理解するオブジェクトの数に磨きをかける
  →せいぜい5〜9とかだろう
 ・プログラムの複雑さを減らして、理解に必要な集中力を減らす
(前節と同じ事を言ってるようなななな...解決策じゃないんじゃないかなぁ)

  • 複雑さの定量化

1.ルーチンのストレートなパスを1と数える
2.if, while, repeat, for, and, or,などにそれらに相当するキーワードを検出するたびに1を追加
3.case文の選択肢ごとに1を足す

ルーチンひとつに0〜5個以内であれば、適切なルーチンとする。


チェックリストは以下(登録してないと見れない...。登録した。)

Code Complete 2nd Edition