1

私は次のようなコードをたくさん書いていることに気づきましたが、それでも多くの死の墜落が発生します。これにより、コード作成プロセス全体が、本来あるべきと感じるよりもはるかに苦痛になります。そこにもっと良いアプローチはありますか?

function drawArrowsInDocument (document, boxes, context) {
    console.log ("drawArrowsInDocument");
    var body = document.body;
    if (!body) {
        console.log ("no body!");
        return;
    }
    var rectangles = rectanglesWithBoxes(boxes);
    if (!rectangles) {
        console.log ("no rectangles!");
        return;
    }
    var descendants = body.childNodes;
    if (!descendants) {
        console.log ("no descendants");
        return;
    }
    var length = descendants.length;
    if (length>10000) {
        console.log ("too many descendants");
        return;
    }
    // now I know my variables actually exist, and I can do something with them.

これがクラッシュしたときに表示されるものです。その時点で私ができる唯一のことは、Safariを再起動し、問題を見つけるためにさらにifステートメントを追加することです。

クラッシュ

4

1 に答える 1

0

console.log の代わりにアサーションを使用します。組み込みがありますconsole.assert

console.assert(Number("a"),"Not a Number",Number("a"))  

単体テスト フレームワークは、デプロイ前にコンソール ステートメントを削除する必要がないように、テストをコードから分離するのに役立ちます。

参考文献

于 2012-08-22T19:39:59.240 に答える