ログイン

バグに出くわした!たぶんここだ!エンジニアの直感

 2021.12.24 ゴリラーブログ ブログ 寿司ゴリラー木村

 

 

食べ過ぎて太ったやばい!

リングフィットでダイエット中の寿司ゴリラー木村です。

 

技術系の話が多かったので今回は感覚や感性にかかわる話をしていこうと思います。

 

日々エンジニアとしてプログラミングを行っていますが、当然バグが出てきます。

テストの段階で見つけたり、書いたときには想定できていなかったケースでバグが発生します。

 

こういう時、「たぶんこの辺りが原因だな」と思いながら修正やテストを行っていますが、

この直感はなんなのか考えていこうと思います。

 

 

バグに出くわした時の大体の流れ

 

1.バグに遭遇

 2.多分この辺が原因だろうなぁ

 3.予想した原因の周りを調べる

 4.原因を特定する

 5.原因がわかったので対処・修正をする

 

 

 

 

日々このような形でバグと戦っていますが、

重要なのは「多分この辺が原因だろうなぁ」という直感がどこから来ているのかです。

 

 

どうやって原因を絞り込んでいるのか

 

それまで動いていたシステム状況や編集したコードの内容から状況を推察します。

システムは以下の要素で動いています。

 【ハードウェア・OS・ネットワーク・アプリケーション】

このなかでそれまでの状況から明らかに異なるものは除外できます。

 【ハードウェアOSネットワーク・アプリケーション】

あとは直近の作業で変更したコードが原因であることがほとんどであったり、

その処理に関わる部分のコードを順番に動作しているのか調べていくことが多いです。

 

ハードウェアやネットワーク周りの場合は、

エラーの出方や状況でアプリケーションが原因ではないことがわかります。

 ※予想が間違っていると時間がかかることもよくある。

 

 

過去の経験から原因を予測する

 

原因の絞り込み・切り分けは過去にどれだけ似たような状況になったことがあるか、

それを覚えているのかだと思います。

  

はじめはバグの特定と対応に時間がかかるものです。

私も最初はバグを見つけるのに今の何倍もの時間がかかっていました。

今でも原因がわからないバグには時間がかかってしまうものです。

 

バグの原因をわからないままにしない

 

なんとなく、○○したら治りました!や

調べた情報通りの手順でなんか治りました!

これはかなり危険です。

原因と対処法がセットになっていなければ

次に似たようなバグや障害があった時に対応ができないままになってしまいます。

なので、バグに遭遇したらそれを直すだけでなく、

次似たようなバグに出くわしたときにすぐ対処できるようになること、

そのためにはどうすればよいかを考えることが重要だと思います。

原因を突き止めるまでの過程を覚えておき、

「○○を調べれば××が原因であることがわかる」を

たくさん持っておくことが大事だと思います。

 

経験の積み重ねが直感に繋がる

 

料理・運動なども積み重ねていけば経験になり、

プログラミングにおいても続けていくことで

エラーやバグの解決の経験が溜まりそれが直感に繋がるのだと考えています。

 

まとめ

 

『 継続は力なり 』 

プログラミングも続けていけばバグへの対処法も覚えていく!というお話でした。

 

そういうわけで、リングフィットを継続するぞ!と自分を追いこんで

今回のゴリラーブログを締めようと思います。

 

次回のゴリラーブログは

「最近ダイエットに成功した寿司ゴリラー木村です」から始めたい

ここまで読んでいただきありがとうございました。

 

© 2021 Mountain Gorilla Co., Ltd. 

プライバシーポリシー

%d人のブロガーが「いいね」をつけました。