s

toi toi toi

バグにハマらないための私的10則

ハマっちゃうのだ。はたして、この崩れはなんだろう…とか、スクリプトが動かないよ…とか延々悩み続けて気づけば夜も更けていて…。コーディングに慣れてない時は多かった。何度「IE爆発しろ!!」と思ったことか(今も思うけど)。
ただそうしたハマりの原因を振り返ってみればすぐに解決できた問題だったことが多かった。
出来るならハマりたくないし、別の作業に時間を割きたいし、早く帰りたい。
というわけで、自分への戒めとメモとして、ハマらないための10則を書いてみる。

1.落ち着く

まずこれ。とりあえず落ち着く。慌ててcmd+Zを連打とかCSSいじりまくるとかしない。どこが原因で何が起きてるのかを冷静に把握する。案外問題は単純だったりする。

2.凡ミスを疑う

にんげんだもの。ミスをする。しかもなんでこんな!?というミスをする。ファイルを格納する場所を間違えていた、ファイル名が違った、タグのスペルが違った、振り返れば恥ずかしいミスの数々でも、意外と気づかずに苦しむことが多い。まさかそんな…というミスもまずは疑ってみる。

3.分かる人に聞く

難しい問題に突き当たった時、誰か分かりそうな人がいるなら、さっさとその人に聞いてしまう。あんまり聞いてばっかりでは迷惑をかけるけど、延々と黙って悩み続けて時間を浪費したり、ミスを放置して後々問題になるよりはマシなはず。相手が自分の後輩だったりしても躊躇しない。プライドは捨てる。聞かずは一生の恥。

4.うまくググる

Google検索を上手く使う。エラーメッセージが出ているなら、そのままググってしまう。曖昧なことしか分からない場合はググりながら順番に検索ワードの精度を上げる。
欲しい情報が見つからないときは英語でググるのも有効。世界中を探せば、自分と同じ理由で困ってる人もきっといる。
検索結果の期間にも注意。古い情報ばかり集めても仕方がないし、よりよい解決策が生まれている可能性もある。特にFacebookやTwitterなどのSNS周りは仕様変更の頻度が高いので、いつの情報かは特に注意。

5.「おまじない」を減らす

「原理はよくわからないけど、動くからとりあえず使っているもの」をなくす。たとえばclearfixはどういう原理かよくわからないけれど、とりあえず適当にいれたらfloatが解除されるから使っている…なんて人も多いけど、それはあまり良くない。
きちんと原理を理解して使っていればそれが原因でエラーを起こすことは確実に減るし、応用が効く。よくわからない「おまじない」は極力減らす。

6.Firebugやバリデータなどのツールを活用する

FirebugやChrome・Safariのインスペクタをちゃんと活用する。Webの構造を見るだけに使うのはもったいない。
こうしたデバッグツールは、その場でCSSのプロパティを書き換えたり、jsのエラーを発見できたりとWebの構造を見る意外にも色んなことが出来る。
ウェブの構造把握に便利なFirefoxアドオン「Firebug」 – All About

どこか間違っているのか検討もつかない場合はバリデータを利用する。バリデータとはHTMLやCSSの構文エラーを発見するツール。FirebugやChromeのインスペクタにはバリデータ機能が付いているし、Web Developer Toolsにもバリデーション機能がある。
これでタグのとじ忘れや、タグのスペルミスといったエラーが発見できる。
Markup Validation Service
CSS Validation Service

8.環境を整える

環境を整えることでミスを減らすこともできるはず。エディタを使いやすいものに変えるとか、作業のフローを見直すとか。
机やPCのデスクトップを片付けるだけでも違うかもしれない。余裕がないといろんなことを間違えやすい。

9.諦めも肝心

時間が無限にある仕事ならともかく、ほとんどの仕事は限られた時間の中で終わらせる必要がある。ある程度の時間で解決できる見込みが立たなければ、諦めることを検討する必要がある。代替出来る別の手段をとれないかメンバーに相談する。上記のことをきちんとやっていれば、どうして実現できないかも確実に説明できるはず。問題が解決するわけではないけど、とにかく一人で悩み続けて時間を浪費するよりはマシ。

10.間違いを記録する

自分が何につまづいてしまったのか、きちんと記録する。修正の最中は目の前のことで頭がいっぱいかもしれないけれど、解決したあとは自分が何を間違えて、どう解決したのかを記録しておく。記録する時間がなければ、せめて間違いを修正するのに利用したサイトや記事をクリップしておく。結局はこういう積み重ねがエラーを減らしていく近道になる。

最近は憎たらしいIEに対しても先んじて対策してしまうし、エラーの発見・修正も慣れて早くなってきて、長時間デスクの前で悩んでしまうことも減って来た。
とはいえ新しい事をやろうとすると必ず何かにぶつかるもの。上に書いたようなことを意識してキチンと仕事を終わらせたいもんです。
って気付けばこんな時間…。あれーおかしいなー?

Trackback

Comment / Trackback