-1

C#/WPF から HTML5/JavaScript への移行は、私を悩ませています。難しい部分は、新しい言語や問題に対する新しい考え方などを学ぶことだと思っていました。しかし、それは簡単な部分でした。本当のハードルは、Firebug として知られるばかげた環境を使用して、妥当なサイズのアプリケーションをデバッグしようとすることです。私が Firebug を選んだのは、StackOverflow.com のほとんどの人が Firebug を使用しているように見えたからです。しかし、男..私はあなたたちがこのことをどのように使用しているかを真剣に見ていません。それはショーストッパーのバグでいっぱいです。以前、タイマー コールバックをデバッグする際の Firebug の重大な欠陥について投稿しました。しかし、今日の Firebug の体験は狂気に近いものです。

簡単に言えば、特定の未知の条件下で構文エラーが発生した場合、Firebug はエラーを報告する代わりに、スクリプト ファイル全体をメモリにロードすることにまったく失敗し、エラー情報をまったく表示しません。今日、コンマの位置が間違っていたために忍び寄った構文エラーに対処しました。まともなデバッガーは、問題を強調表示して実行を停止するだけです。ファイアバグではありません。構文エラーがどこにあるのかを突き止めようとすると、ファイルごとに調査し、一度に 1 つずつコメントアウトする必要があります。そして、これは単なる「エッジ ケース」ではありません。次の意図的に不適切な JavaScript フラグメントについて考えてみましょう。

var boo;
boo.SelectEntityPopupXXX=(function(){
    var hey={p: 1,z: 2,goob=this};
}());

構文エラーがあります。等号の代わりに「goob」の後にコロンが必要です。アプリに 50 個の異なる JavaScript ファイルがあり、この不良フラグメントがその 1 つに含まれている場合、Firebug はそれについて通知しません。スクリプト ファイル全体をメモリにロードするのに失敗するだけです。50 個のファイルのうち、ロードされていないファイルを見つけるのはあなた次第です。次に、そのコードフラグメントを絞り込み、そこに悪い等号があることに気付くまで、そのファイルの内容をランダムにコメント/コメント解除する必要があります。それは絶対的な狂気です!

Firebug は、ほとんどの構文エラーに対して予想どおりに動作します。しかし、それはひどくイライラするのに十分な数に出くわします. これは、数え切れないほどの他の目を見張るバグと相まって、Firebug 環境を、最も単純な Web アプリケーション以外ではまったく役に立たないものにしています。質問は次のとおりです。

[1] このおかしな動作を引き起こしている何らかの構文エラー フラグまたは設定が欠けているのでしょうか? 「構文エラーをランダムに無視し、その場所を難読化する」チェックボックスがある場合は、チェックを外したいと思います。

[2] Firebug よりも優れた [Mac 用の] 開発環境が存在するに違いありません… 少なくとも、最悪の開発環境は想像できません。おすすめはありますか?

ありがとう。

アップデート:

このスレッドが殺される前に、実際にデバッグを気にかけている人たちのためにコメントを挿入したいと思っています [サイトのゴールドピースを集めることや、これらの上下投票が表すものとは対照的に]... Safari と Chrome はどちらもはるかに信頼性が高いです。上記の構文エラーが Safari と Chrome の両方で正しく識別されることを確認できます。別の記事で言及した主要なタイマー コールバック バグも、Firebug 固有のものです。十分に言った。さようならファイアーバグ。

4

1 に答える 1

1

私は Chrome で Web サイトやアプリを開発することを好みます。Chrome には、debugger時々機能する行があります。JS 開発の鍵は ALERTS です。問題を解決するには、変数値と要素値をアラートするだけです。そして@Quentinは正しいです。構文エラーは=演算子によるものです。:JS オブジェクトに値を設定するには、演算子を使用する必要があります。

于 2012-04-30T22:35:45.463 に答える