code complete 第23章 デバッグ
NOTE: 11/6/2010に ツイッターで実況中継していた読書記録を読んだ日のエントリーとしてまとめたもの。
ichiki_k/status/28656604540月曜は、なんか乗らない。
そういうときの単純作業ってことで、コードコンプリート下巻の読書の続きを最大1時間限定で。
ichiki_k/status/28656756703コードコンプリート下p89
『「デバック」はエラーの原因を突き止め、それを修正するプロセスである。
エラーの検出を目的とする「テスト」とは対照的だ』
御意。
デバッグは「作業」で、相対的に簡単。
テストというか間違いを特定する方が、よっぽど技能を要する。
ichiki_k/status/28657065759コードコンプリート下p91
『調査によると経験豊富なプログラマと経験の浅いプログラマに同じ欠陥を検索してもらったところ、所要時間にだいたい20対1の開きがあった』
ふむ、出来る奴は普通の奴のずっと上を行ってるって、やっぱり本当なんだな。
cf. part5 ソフトウェアエンジニアのベストプラクティスと平均的なそれの差について
ichiki_k/status/28657494814コードコンプリート下p95
『(経験豊富な)プログラマは、プログラムの修正方法を適当にかんがえたりしない。彼らは科学的な方法をとる』
うーむ、科学的な方法をとれない「プログラマ」が、存在するんだねぇ。
ichiki_k/status/28657739075コードコンプリート下p108-
『欠陥の修正、
元のソースコードを保存する、
正当な理由がある場合にのみコードを変更する、
変更は一度に1つずつ』
プログラマとは恐ろしい人たちだ。
cf. p.143安全なリファクタリングの節。
つまりは、 version control system をきちんと使いましょう、ということだ。
cf. 第8章 防御的プログラミング