Skip to Content
ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール
book

ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール

by Chris Zimmerman, 久富木 隆一
August 2023
Intermediate to advanced
452 pages
5h 11m
Japanese
O'Reilly Japan, Inc.
Content preview from ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール

ルール2バグは伝染する

 バグってやつは、早期に見つけるほど修正しやすくなる。プログラミングについての、そんな当たり前の話がある。この話は、一般的にはその通りだ……でも、「バグを見つけるのが後になればなるほど直すのがウザくなる」っていう方が、ずっと正確なんじゃないかって思う。

 いったんバグが存在するようになると、そのバグに依存したコードを、みんな意図せず書いてしまう。バグに依存したその手の不安定なコードが、バグがあるシステム内でバグの近くに存在することもある。そういうコードが、バグの近くに存在しないことだってある。つまり、対象のシステムを呼び出し、そのシステム内のバグが発生させる不正な結果に依存する、下流に存在するかもしれない。そうでなかったら、バグに依存するコード部位は、上流に存在する。つまり、バグのせいで特定の方法で呼び出されるようになっており、そのおかげで動作しているものの、バグが消えると動作しなくなるような、上流にあるコードの塊だ。

 こういうのは自然の成り行きで、避けようがない。ぼくらが気づくのは、うまくいかない物事であって、うまくいく物事じゃない。うまくいかない時は、ぼくらは原因を探る。でも、物事がうまくいかない時以外は、調査しない。コードが動作する、あるいは動作しているように少なくとも見える場合、自分が想定している方法で動作していると思い込む、自然な習性がある。でもほとんどの場合は、全然想像もしなかった理由で動作していたりする。そして調査しないので、コードが偶然動作する原因となった、こんがらかった状況の数々を発見することは、決してない。

 これは、自分で書いたコードにも言えるし、自分のコードを呼び出す、他者が書いたコードにも言えることだ。チームのコードベースにバグをコミットすると、そのバグに依存する他のコード部位がゆっくりと、しかし必然的に、コードベース内に蓄積されていく。明白に現れているバグを修正し、プロジェクトのどこか他の部分が不思議なことに動作しなくなった時に初めて、それまで隠れてたこんがらかってる部分が目に入るようになる。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

スタッフエンジニアの道 ―優れた技術専門職になるためのガイド

スタッフエンジニアの道 ―優れた技術専門職になるためのガイド

Tanya Reilly, 島田 浩二
行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

David Scott Bernstein, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 有野 雅士

Publisher Resources

ISBN: 9784814400416Other