ぼんやりと考えている人

ひろしまなおき (廣島直己)
名前: ひろしまなおき (廣島直己)
住処: シリコンバレー
職業: しがないプログラマ
家族: 愛妻一人、息子一人、娘一人
道具: ハーレー二台、ギター三本
電紙: n at h7a.org

Twitter

« November 2022 »
S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

以前にぼんやりと考えたこと

最近のコメント

  • ひろしま (ひらがなせいかつ …): じゅくじくんは なくした ほうが いい ですね。ぼくは…
  • たんぽぽ (ひらがなせいかつ …): きゅうに ぜんぶの ことばを ひらがなだけに する…
  • とね まさひこ… (ひらがなせいかつ …): ぼくは ものかき だが, かんじが きらいなので,…
  • とりえ (ひらがなせいかつ …): このさいとは みているだけで なんとなく ほんわか…
  • ひろしま (思い通りの日本語…): こうどな ほんを よめなければ、こうどな たんごを 学…
  • nt4 (思い通りの日本語…): ひらがなせいかつに初めて接し、興味を覚えました。そ…
  • ひろしま (ひらがなせいかつ …): やはり、がいこくに くらしていたり、がいこくとの か…
  • ぷりうりうぷ… (ひらがなせいかつ …): こんにちは。すうぇーでんに すんでいます。いとうさ…
  • Joi Ito (ひらがなせいかつ …): もと べいにち たいしの Edwin O. Reischauer さん…
  • yonay (理屈じゃないとい…): なんか、著者の主張を誤解しているような気がするよ。…

  • Powered by Pivot - 1.40.5: 'Dreadwind'
  • SPAM Poison
  • XMLフィード(RSS 1.0)
  • Atomフィード

24 December '2003 - 02:34 | 雑記 デバグの技術

当たり前のことだが、プログラミングは、やはりいかにバグを早く見つけられるかがキモだ。動くコードを書くこと自体は、比較的早く上達するが、バグを取る技術はなかなか上達しないものだ。 シンプルで理解しやすく、つまり保守しやすく、綺麗なコードを書くためには多くの経験とたぶんそれなりのセンスが必要だが、動くコードを書くために必要な知識は、プログラムと言語のそれぞれの仕様の二つだけだ。両方とも、ドキュメントを見ながらでもいいわけだから、よく知らない言語でもプログラムをすること自体はできる。仕事でプログラムを書く場合、必ずしも綺麗に書くことそのものは目的ではないから、実際、そういうコードはよく生産される。それでもいい。動くなら。

ま、動けばいいのだ的にしかコードを書かないヤツとか、綺麗さに拘り過ぎて抽象化が行き過ぎて難解になったり、やもするとなかなか完成しないヤツとか、そういう極端なのは、どっちもイヤだけれど。

そして、特に初級者には見落とされがちなんだろうが、コードを書くことと違い、バグを見つけるために必要な知識は、実は到底その二つだけではこと足りない。だいたい、何が原因か簡単に分からない時に、それを想像するための知識には何が必要なのかは一概にはいえないのは当たり前だ。

つまり、バグを早く見つけるためには、とにかく、いろんな知識が必要なのだ。

実は、おれの下で働いているヤツが3日ほど悩んでいるバグがあった。かなり頑張ったようだが、今日、とうとう、根を上げた。根を上げるまでにかかる時間が3日もかかっているというのがそもそもダメなのだが、まぁ、ダメだからこそ3日も費やさないと自分には分からないということが分からないわけだから、ある意味仕方ない。

そして、結果から言うと、バグの原因はプログラムのロジックにはなく、開発環境の方にあった。ライブラリの一部が壊れていたのだ。それも、ちゃんとリンクできて、ある特定の関数さえ呼ばなければ何も問題なく動くというような絶妙の壊れ方で。

このバグ取りは、おれの貴重な半日を捧げることになったのだが、その過程をずっと彼に見せていたにも関わらず、彼にはどうしておれがそう想像してそこをつついたり、ああ想定してあそこを探ったりするのか、サッパリ分からなかったし、発見するために通った推理の過程を説明しても、やはり、よく分かってもらえなかった。

デバッガで追えば見つけられる程度のバグならいざ知らず、こういうタフなバグを取るための方策はやはり教えようがないと思う。経験を積むしか。

ま、今回のバグは、ライブラリのせいとかコンパイラのせいとか、何とそういうことだって本当にあるのだ、といういい勉強になっただろうと思う。

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。



  
情報を記憶する

Emoticons /

酢ハムがいったいどんなハムなのかはともかく…
 

 

通知:
非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。