09 他人よりまず自分を疑う 『プログラマが知るべき97のこと 』

プログラマが知るべき97のこと

え?今さら?って感じなのですが、積んでいた『プログラマが知るべき97のこと』を読み始めました。

プログラマが知るべき97のこと
オライリージャパン
売り上げランキング: 9,039

と言っても、まだ30分くらいしか読んでません。
それでも、こりゃ色々考えさせられるなぁ、ということが盛り沢山な内容になっています。

「何でもっと早く読まなかったのだろうか!」良本に出会うたびに思いますね。

というわけで、この本のページをまだ開いていない方のために、ひとつだけエッセイを取り上げてみます。

09 他人よりもまず自分を疑う

自分の組んだプログラムでバグが発生した際に「OSやブラウザ、コンパイラのバグが原因だった…」なんて経験、プログラマなら誰しもありますよね?

ある程度そういう経験を積んでしまうと、複雑なバグを見つけるや否や「IE爆発しろ!」とか「OSのコマンドにバグとか糞窓ふざけんな」といった悪態をついてしまったりします。

しかしながら、よくよく原因を追ってみると「どうみても俺のコードのバグです本当にありがとうございました。」みたいなオチの方が、圧倒的に多かったりするわけです。

アラン・ケリー氏について

本エントリーを寄稿したアラン・ケリー氏は、豊富な経験を持つソフトウェアエンジニアで、現在はマネジメント関係の仕事に携わっているそうです。

最近よく話題に上がっている、アジャイル開発の導入支援なども行なっているとのことで、『ソフトウェア開発を変革するーもっと俊敏になるために』という著書も出しています。

ソフトウェア開発を変革する -もっと俊敏になるために-
Allan Kelly
共立出版
売り上げランキング: 930,283
思い込みは最大の時間泥棒

そんな同氏いわく「本当にコンパイラのバグが問題の原因だった」という経験は、たったの1度だけだったそうです。

それよりも、コンパイラあるいはOSのバグのせいだとばかり考えて時間を無駄にした回数の方がずっと多いのです。自分の時間、サポート担当の時間、管理者の時間をさんざん無駄にした挙句、結局は自分のミスが原因だったと判明して力が抜けたということが何度もありました。

こんな経験豊富な方にそんなこと言われてしまうと、自分の書いたコードに誤りがあるとは考えず、悪態をついてきた過去を全部無かったことにしたい…

これが私の祈り、私の願い。さあ、叶えてよ、インキュベーター!!

シャーロック・ホームズの言葉

そんなわけで「他人よりまず自分を疑いましょう」って話が書かれているんだけど、最後の方に載ってたシャーロック・ホームズの言葉が印象的でした。

「完全にありえないことをすべて取り除いていけば、残ったものは、いかに信じがたいものでも、事実に違いない」

シャーロック・ホームズ

19世紀の推理小説の言葉が、現代のプログラミングに生かされるなんて、何だかおもしろいですよね。

俺のコードのどこが悪い?

「コードはできるだけシンプルにすべき」ってのは、プログラミングにおける常とう句でして、すべてのプログラマの必須スキルでもあります。

僕も5年ほどSEをやっていますが、コーディングスキルというのは、本当に重要だなぁと実感しています。

昨年話題になった『リーダブルコード』や『HTML+CSSコーディング ベストプラクティス』あたりは読んでいるのですが、この2つは頻繁に読み返していますね。あとまぁ、初心者向けには『良いコードを書く技術』あたりなんてオススメです。

これまた積んでいるのですが『俺のコードのどこが悪い?』も、そのうち読む予定。内容がおもしろかったら、記事書くかもです。

コーディングの話は、本当に奥が深いです。プログラマの永遠の課題ですね。
あとはやっぱりテストですかね。そろそろテスト駆動開発を抑えたい…

俺のコードのどこが悪い?―コードレビューを攻略する40のルール
藤原 克則
秀和システム
売り上げランキング: 226,589