ZERO BUGSを読んでみたメモ
ZERO BUGSを読んでみたのでそのメモです。例によって共感した部分をメモするとか自分なりの意見を加えてますので本の記述ママではありませんし、気になればご購入お願いします。
スピード
- バグの発見が遅れれば後から必要になるエネルギーは大きくなる。
プログラマの発見、品質管理部門の発見、顧客による発見・・・ - バグを産んだ時「この先、この種のバグを生み出さないためにはどうした方が良いか」を考えること
自分をゼロバグへ近づける道
漏れのないコード
- 複雑すぎるプロジェクトは皆失敗する。
- ソフトウェア設計をシンプルにすることで間違いのないことが明らかになるようにする
- ソフトウェア設計が複雑すぎる場合はバグが隠されている場合がある?
完璧に到達する方法
- 改善とはこれまでにやったことが無い何かをやること
冗長なコードがあるなら、取り除こう
重複は省き、削除する- 重複は省き、削除する
- 今のプロジェクトで、似たようなコードが既にライブラリ化されているパターンがあったのでレビューって大事ですね。
コンパイラの警告に耳を傾ける
- IDE、コンパイラの警告に耳を傾ける
(警告の意味を理解せずに無視していないか、意味を理解せずに警告を無視するアノテーションを追加していないか)
再利用可能なコード
- 他人に自分が作成したコードを元に何かを作ってほしいなら以下を明らかにする
- コードを拡張する明らかな方法
- コードを拡張する簡単な方法
- コードを拡張する素早い方法
循環的複雑度(Cyclomatic complexity)
シンプルさは成功のための指標
他人のコードを利用する
- 見積もりスキルの改善
実行する前にどれくらいかかるかを見積もる、完了後に推定値と比較する。
他人のコードの修正
- プログラミング言語はコンピュータのためではなく、人間のため。他人とより良いコミュニケーションの能力を授けてくれるもの。
- プログラミングとはコミュニケーションを行う仕事
データを使い議論を効率的に終わらせよう
- データは議論をすばやく収束させる
- データを集め、議論に勝つ
あとでやれ
The Tao of Programming
すぐにやれ
- 前章との2つの理想のトレードオフ
- 後でやるよりも、今やった方が何かが簡単になるのなら、すぐにやってしまおう
フォン・ノイマン
- 人を尊重する
- 世界をより良い場所にしよう