出典

著者Brian Kernighan , Jon Bentley , まつもとゆきひろ
編集Andy Oram, Greg Wilson
訳者久野 禎子, 久野 靖
出版社オライリージャパン

3章

  • 私はプログラミングは実用的なスキルだと信じており,「実用的なスキルは,まねをすることと練習することで獲得する」というポリヤの意見に賛成です.美しいプログラムを書くことにあこがれるプログラマは,美しいプログラムを読まねばならないし,自分でプログラムを書くときには学んだテクニックを真似ようとしてみるべきです.練習の場として最も有効なのが,だいたい12行から24行程度の小さなコード片です.

28章

系統だった方法

  1. プログラムの失敗を観察する.
  2. 観察と矛盾しない失敗の原因についての"仮説"を立てる.
  3. 仮説を使って"予測"する.
  4. 予測を実験でテストして,さらに観察する.
a.実験と観察が予測を満たすなら,仮説をさらに精緻なものにする.
b.満たさないなら,別の仮説を立てる.
  1. 仮説がこれ以上精緻にできなくなるまで,手順3と4を繰り返す.
  • デバッグマスターになるための重要な3つのポイント
    • 明示的である.
    • 系統立っている
    • 一番可能性の高い原因から調べる.

32章

動くコード

DiffMergeを例にした
「整ったコードの7ヶ条」
  • 「本のよう」であること
  • 字下げを克服すること
  • コードをもつれさせないこと
ーコードにコメントをつけること
ーごちゃごちゃにしないこと
ー既存のスタイルにとけ込むこと
    • 本のようなコード
つまり,本のように段組去れ,かたまりを持つ形式にすることで理解しやすくするということ.長い行ほど速く読めますが,短い行ほど理解しやすいのです.

if (bf->end == bf->Lines() &&
    lf1->end == lf1->Lines() &&
    lf2->end == lf2->Lines() )
	return (DD_EOF);
    • 似たものは似て見えるようにすること
while (d.diffs == DD_CONF && ( bf->end == bf->Lines() ||
                               lf1->end == lf1->Lines() ||
                               lf2->end == lf2->Lines() ))
    • 字下げの危険性
入れ子になったコードは単刀直入に,人による理解を妨げる.

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます