Upgrade to Pro — share decks privately, control downloads, hide ads and more …

今日から使えるバグらないコードの作り方_社内勉強会資料

 今日から使えるバグらないコードの作り方_社内勉強会資料

ENSAPIA Engineering株式会社 社内勉強会の資料「今日から使えるバグらないコードの作り方」です。

本資料では、「バグらないコード」とはどのようなコードなのかを考えながら、バグの種類や、それぞれの対策についてご紹介します。

どんなに品質の高いコードでも、バグるときはバグる。
だからこそ、「正しく動くか」だけではなく「どうしたら壊せるか」という視点でコードをチェックすることが重要です。

単体的なバグ、複合的なバグ、プログラム的には正しいバグの違いや、実際に起こりうるケースを通して、バグの見つけ方・壊し方を考えます。
「壊し方がわかれば、対策の仕方も直し方もわかる」。
日々の開発ですぐに実践できる、バグとの向き合い方についてご紹介しています。

■ テックブログ
https://blog.ensapia.engineering/

🔷エンジニア採用中です!求人はこちらからご覧ください。
https://herp.careers/v1/ensapia/requisition-groups/c2451cf8-481b-48c3-80d7-16a58f57608c

More Decks by ENSAPIA Engineering株式会社

Other Decks in Programming

Transcript

  1. バグの種類 単体的なバグ • • コードの不備によって発⽣するもの 単純に実装ミス 複合的なバグ • • 複数のモジュールの組み合わせで発⽣するもの

    モジュール単体では、問題が起きない プログラム的には正しいバグ • • 実装の問題ではなく、仕様的、使⽤的に発⽣する プログラム⾃体の問題というより、性質的な問題
  2. バグの対策 単体的なバグ • • コードの不備によって発⽣するもの 単純に実装ミス  対策:テストを⾏う • •

    単体テストでも動作テストでも簡単に発⾒可能 AI で対応する場合でも最も発⾒しやすく対処しやすい
  3. チェック時は⼀定の悪意を持って 例えば、 • Null 突っ込んだらどうなる? • 想定されるデータ範囲を超えたらどうなる? • 処理順は、本当に保証されてる? •

    ここで処理を中断してもいい? 正常性バイアスに似たようなもので、 動いてるから⼤丈夫だろうっていう判断になりやすい