YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← 06-37 Problem Domain Solution

Get Embed Code
2 Languages

Showing Revision 2 created 06/24/2014 by Fran Ontanaya.

  1. 答えは明らかにイエスです

  2. FirefoxやEclipseの学習の際に
  3. コードに特有な特徴がありました
  4. それは他の何よりも重要なものでしたね
  5. その特徴とは各モジュールによるインポートでした
  6. つまり問題のあるモジュールが
    別のモジュールと対話するということです
  7. さらに詳しく言えば
    モジュールがインポートしたものは何でも
  8. 欠陥を持つ可能性があるということです
  9. 例えばFirefoxで以下をインクルードしたとします
    nsIPrivateDOMEvent.hとnsReadableutils.hです
  10. つまりこれはインクルードしたAPIを利用した
    または対話したということことを意味しました
  11. そしてコードのデバッグは絶望的な状態に陥ります
  12. この2つのAPIが20ものモジュールに含まれていたことで
  13. 最低でもセキュリティ問題が1つありました
  14. 同様にEclipseでは
    コンパイラ内部の処理を担う何かをインポートした場合
  15. GUIのみを処理するコードを処理する時の
    4~5倍ものエラーが
  16. 含まれるようになりました
  17. なぜそうなるのでしょうか?
  18. コンパイラの内部処理をインポートすることは
    コンパイラのコードを書くことにつながります
  19. コンパイラのコードはUIのコードより
    エラーを起こす傾向があるのです
  20. つまりもしあなたがUIに取り組んでいたとしたら
  21. エラーのほとんどは
    人の目で見て確認できるものになります
  22. 一方もしあなたが
    コンパイラの内部処理に取り組んでいたとしたら
  23. コンパイラ内のバグからコンパイル後のプログラム内の
    バグにたどり着くには長い道のりになります
  24. そしてバグが不具合を起こすタイミングは
    プログラムの実行時だけなのです
  25. 不具合の原因をすぐ発見できるわけがありません
  26. このような理由があるため
    このドメインつまりコンパイラは
  27. UIよりもエラーを起こしやすいのです