質問

開発者ツールおよびソフトウェアは通常、エラーメッセージでの解決策の提案を提供しません。コンパイラーは、何が間違っているかを正確に伝える必要があるため、コンパイラーにとって意味があります。

提案を提供するための" lint" ツールがありますが、知る限り、定期的にまたはまったくリントツールを使用する開発者はほとんどいません。

「提案された解決策」を持っているとうまくいく開発者向けソフトウェアの大規模なセットがあります。エラーメッセージの一部。これは、EclipseのようなIDEの優れた機能の1つです。ただし、Webアプリケーションフレームワーク、標準/人気のあるライブラリなどのソフトウェアには、この便利な機能はありません。

これはユーザーフレンドリーなデザインに欠けているだけですか(Googleが非常に優れていることを考えると、これは不要であると考えることができます)、またはそれには正当な理由がありますか?使用しているコンパイラ、フレームワーク、プラットフォームは、解決策の提案を含むエラーメッセージを提供しますか?

役に立ちましたか?

解決

コンパイラまたは実行時エラーから私が望む最も重要なことは、コンテキストです。どこで発生し、失敗したときにどこから呼び出されたかです。

最新のコンパイラとランタイム(Java、Ruby、Go)のほとんどは、行番号とスタックトレースでほとんどのバグを見つけることができます。 Javascriptのオプションが良くなったとしても、それは確かに古き良き「alert()」に勝るものです。デバッグへのアプローチ。

提案された解決策をIDEに任せるのは十分ではないですか?

しかし、エラーメッセージと「NullPointerException at line 264」で非常にまばらなフレームワーク/ライブラリを見たことに同意します。ソースコードがないサードパーティライブラリの奥深くでは、ほとんど何もほとんどわかりません。

これが問題である場合、主にサードパーティのライブラリに制限されていると思います。 「正当な理由」おそらく、それは誰かの暇なときに急いで開発されたものであり、重要なエラーメッセージを優先順位リストに非常に高く載せていなかったと思われます。

他のヒント

何を見たいですか?

Error: Null Pointer Exception (suggested solution: Set the object to something).

つまり、あなたを教育するのはエラーライターの仕事ではありません。私は正確な問題を指し示す単純なエラーメッセージを好むので、私自身が今回何が原因であるかを判断できます。私にとって、これは確かにサードパーティのツールの領域に沿っています。おそらく、コンパイラーは、分析を行うために広範なコンテキストを提供できますが、それは私が本当に価値があるとは思わないものです。

提示されるエラーの解決策は困難です。非常に多くの可能性があり、@ silkyが指摘したように、一部は診断できないだけです。

警告は別の獣です。多くの場合、現代のコンパイラはこれらを使用して"と言いました。確認することをお勧めします。"

プログラミング言語には、ユーザーインターフェイスの面で究極の柔軟性を発揮する機会があります。コンピューターに必要なことを何でも行うことができます。コインの裏側は、1文字も間違えて入力すると、どの軸に沿って間違いが発生したのか、どこで発生したのかわからない可能性があることです。

柔軟性が低いシステムは、問題の解決策を提供する機会が増えます。 Lispコンパイラに(a b c)を入力してもaがわからない場合、有効なコード行に非常に近いため、1つの修正を正確に示唆することはできません。 「識別部」のスペルを間違えた場合COBOLプログラムの開始時に、コンパイラーは比較的簡単にエラーを見つけて支援します。他のほとんどの言語は、これらの両極端の間にあります。

プログラマーは、キャリアを通じて、より強力で構造化されていない言語から、より強力で柔軟な言語に移行する傾向があります。 (少なくとも、Javascriptが非常にホットな初心者言語になる前に私が見たものです。)これは、何をすべきかを犠牲にしてパワーを提供するツールを使用できるようになるまで、彼らの規律が向上することを意味します。私が使用した環境は、何を修正すべきかを教えてくれますが、私が使用するのは嫌いな傾向があります。

他のアートと違いはありません。ミュージシャン、画家、武道家、俳優、作家、シェフ、またはスペイン語を話すことを学んでいる人々を見てください。彼らは若くて経験の浅いとき、彼らは多くの構造があり、間違いを犯すシステムに入れられます誰かが簡単に修正できます。彼らがより熟練するにつれて、彼らはますます少ないサポートを必要とし、望んでいます。彼らが専門家になったとき、彼らはまったくサポートを必要としませんが、コインの裏側は、あなたが正しいか間違っているかを簡単に指摘できないことです。あなたの子供が線の外に色を塗るなら、あなたは問題を説明することができます、しかし、ピカソまたはポロックが悪い筆致をするならば、あなたは何を言いますか?または、フィリップグラスがメモを場違いにしたり、ブルースリーが体をパンチに変えすぎたりした場合はどうでしょうか。そして、誰もが芸術的な形で働きたいと思うので、世俗的なことが不可能なほど制限されていますか? COBOLコンパイラは、誰かが本当に必要な場合でも存在しますが、見事な色ごとのプリントよりもはるかに多くの人がひどい絵画にお金を払います。

さらに直接、 ErrorHelp (nee bug.gd)というサイトがあります。エラーメッセージが表示され、結果が表示されます。SOよりも古いですが、誰も使用しません。私はもう試した。可能な答えが1つしかない状況にない限り、単純な問題と解決策の提案の辞書は機能しません。そのため、あらゆるクリエイティブ分野での完全な失敗です。

ほとんどのIDEには独自のコンパイラがあります。これにより、部分的なコンパイル、コードのリファクタリング、およびその他の多くのトリックを実行できます。エラーメッセージと提案は非常に便利です。コンパイラがコマンドラインで呼び出されないからといって、コンパイラではないというわけではありません。

代替テキストhttp://www.theeggeadventure.com /wikimedia/images/1/1f/Eclipse-error.png

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top