Japanese subtitles

← 02-42 First Steps

Get Embed Code
4 Languages

Showing Revision 1 created 06/09/2014 by K2480.

  1. 実行時のチェックのない大きなプログラムを
    デバッキングすると仮定しましょう
  2. まずどこから始めますか?
  3. データの不変条件の定義から始めましょう
  4. 瞬時にプログラムの状態の大部分が網羅され
    多くの欠陥も検出されます
  5. 次に不変条件をチェックする事前条件を設定します
  6. そして関数の事前条件を
    チェックするものも設定しましょう
  7. 最後に疑わしい任意のメソッドに事後条件を与えます
  8. 正しい動作を促すためには部分的な条件から始めて
  9. 徐々に範囲を拡張していきます
  10. 不変条件から取りかかる理由は
  11. 書くのが簡単で多くのバグを検出するからです
  12. 正確な引数が得られ正常な状態であるならば
  13. メソッドが機能しているかどうかということが
    分かれば十分だからです
  14. CやC++の場合
    システムの不変条件にチェックをかけましょう
  15. そうすればメモリ破損のチェックも
    することができます
  16. プログラムにメモリ破損がない場合は
    すべてのアサーションは完全にnull化されます
  17. アサーションはランダムな結果を導くからです
  18. Valgrindを有効にしてプログラムを一度実行すれば
  19. 多くのメモリ問題を検出することができます
  20. 先日 同僚が研究室から石油ガス会社へ異動し
    テストの担当になりました
  21. 彼はそこで初めてアサーションを導入して
  22. たった一度で何十ものバグを検出しました
  23. エンジニアたちはそれまで
    このようなものを見たことがなく驚きました
  24. 彼らのような体験がしたいなら
  25. アサーションのないコードに
    いくつかアサーションを追加してみましょう
  26. なぜデータの不変条件から始めるべきなのでしょう?
  27. 1番 状態の大半をカバーしているから
    2番 頻繁にチェックされているから
  28. 3番 不変条件は事前条件や事後条件とも言える
  29. データの不変条件は
    publicメソッドの最初と最後で有効だからです
  30. 4番 有用なドキュメントを提供するから
  31. プログラマが手を加えない場合データ構造が
    どのように構築されているか文書化されるからです
  32. 4つの中から当てはまるものをすべて選んでください