タグ付けされた質問 「errors」

9
1つのメソッドシグネチャを変更しましたが、現在25,000以上のエラーがあります。今何?
私は最近、非常に大きなアプリケーション(15M loc)で作業している新しい仕事を始めました。私の以前の仕事では、同様に大きなアプリケーションがありましたが、(良くも悪くも)OSGiを使用しました。これは、アプリケーションを独立して変更、コンパイル、デプロイできる多数のマイクロサービスに分割することを意味しました。新しいアプリケーションは、たった2つの.dllを備えた1つの大きなコードベースにすぎません。 ですから、このクラスのインターフェースを変更する必要があります。それが上司が私に要求したことだからです。彼らは当初、あまり一般化されていないいくつかの仮定でそれを書きました。しばらくの間、リファクタリングの問題は非常に密に結合されているため回避していました。インターフェイスを変更しましたが、現在25000以上のエラーがあります。エラーの一部は、「XYZPriceCalculator」のような重要な名前のクラスにあり、これは本当に壊れてはいけません。しかし、すべてのエラーが解決されるまで、アプリケーションを起動して動作するかどうかを確認することはできません。また、ユニットテストの多くは、そのインターフェイスを直接参照するか、そのインターフェイスを参照する基本クラスに結合されるため、それらを修正するだけでも非常に大きなタスクです。さらに、これらのすべてのピースがどのように組み合わされるかについては本当にわからないので、たとえ始めたとしても、物が壊れた場合にどのように見えるかはよくわかりません。 私は最後の仕事でこのような問題に本当に直面したことはありません。私は何をしますか?

5
パックマンのゲームの「レベル256バグ」は、未処理のセグメンテーション違反と見なすことができますか?
私はセグメンテーションフォールトを誰かに説明しようとしていますが、Pacmanのレベル256キルスクリーン、整数オーバーフローによってトリガーされる方法、およびセグメンテーションで説明されている「不明な状態」と動作がどのように似ているかを考えていました障害。 これは私が「未処理のセグメンテーション違反」と呼ぶものの良い例だと言いたいのですが、誤った情報を広める可能性がある前にセカンドオピニオンを得たいと思います。 調べてみましたが、バグ自体に関するドキュメントと、Hipster WhaleとNamcoの間のコラボレーションだけが手に入ります。 それで、Pacmanのレベル256の動作は、未処理のセグメンテーション違反の例だと考えますか?
51 memory  errors 


13
C ++の最悪の慣行、よくある間違い[終了]
Linus Torvaldsによるこの有名な暴言を読んだ後、私は実際にC ++のプログラマーにとっての落とし穴は何なのか疑問に思いました。私はこの質問とその回答で扱われているタイプミスや悪いプログラムフローを明示的に言及していませんが、コンパイラによって検出されず、最初の実行時に明らかなバグ、完全な設計エラーを引き起こさないより高レベルのエラー、 Cではありえないが、コードの完全な意味を理解していない新参者がC ++で行う可能性が高いこと。 また、通常は予想されないパフォーマンスの大幅な低下を指摘する回答も歓迎します。私が書いたLR(1)パーサージェネレーターについて、ある教授が私に言ったことの例: 不要な継承と仮想性のインスタンスを使用しすぎています。継承は設計をより複雑にし(RTTI(実行時型推論)サブシステムのために非効率的です)、したがって、たとえば解析テーブルのアクションなど、理にかなっている場合にのみ使用する必要があります。テンプレートを集中的に使用するため、実質的に継承は必要ありません。」

6
数千のエラー!
私は最近新しいプロジェクトに割り当てられました。まあ、実際には古いプロジェクトは、古典的なASPで書かれています。現在、アプリケーションの新しいバージョンは最新のASP.NETで記述されていますが、しばらくはRTMになるとは予想されていません(推定リリース日は2017年1月です)。破棄されました。 また、すべての顧客がすぐに新しいプログラムに切り替えるわけではないという感覚もあるので、このバージョンはおそらくしばらくは使用されるでしょう。 そして問題は、それがエラーだらけだということです。その一部は、Web標準がなかった前世紀にまでさかのぼり、Quirksモードやwidth、heightCSSの代わりの属性、レイアウトに使用されるテーブル、フレームセットなどについてはあまり気にしませんが、これらすべてのエラーです!width="20px"すべての場所onchange="javascript:..."、、style="width:20"およびそれらが実際にcssを使用する場所でありstyle="width=20px"、一般的です。矛盾widthやstyle属性が存在する多くの行は言うまでもありません。など。 その結果、WebアプリケーションはIEでのみ、互換モードでのみ実行されます。開発者がコードの妥当性を検討したことはないことは明らかです。出てきたものが自分の考えていたもののように見えた場合にのみ、そのように見えるはずです。 そして、私はそれを処理する方法がわかりません。コードで他のエラーを確認しながら、これらのエラーに目をつぶることは不可能だと思います。 もちろん、大部分の問題を回避するためにグローバルな検索と置換を行うことができますが、それは最初のコミットが何千もの変更された.aspファイルで構成されることを意味します。それをしてもいいですか?

10
私のチームは、リファクタリング後の頻繁なエラーをどのように回避できますか?
少し背景を説明すると、私は約12人のRuby on Rails開発者(+/-インターン)を抱える会社で働いています。リモートワークが一般的です。当社の製品は2つの部分で構成されています。かなり太いコア部分と、それに基づいて構築された大規模な顧客プロジェクトまであります。通常、顧客プロジェクトはコアを拡張します。重要な機能の上書きは発生しません。コアには、リファクタリングを急ぐ必要のあるかなり悪い部分があると付け加えます。仕様はありますが、主に顧客プロジェクト向けです。コアの最悪の部分はテストされていません(そうではありません...)。 開発者は2つのチームに分かれており、スプリントごとに1つまたは2つのPOを使用しています。通常、1つの顧客プロジェクトは、チームとPOのいずれかに厳密に関連付けられます。 ここで私たちの問題:むしろ頻繁に、お互いのことを壊します。チームAの誰かがコア機能Yを拡張またはリファクタリングすると、チームBの顧客プロジェクトの1つに予期しないエラーが発生します。ほとんどの場合、変更はチーム間で発表されないため、ほとんどの場合、予期しないバグが発生します。POを含むチームBは、機能Yが安定していると考え、リリース前に変更を認識せずにテストしませんでした。 これらの問題を取り除く方法は?どのような「発表テクニック」を勧められますか?

11
より良いエラーの説明を送信するようユーザー/顧客に教える方法
多くの場合、アプリケーションのエラーを報告している顧客またはユーザーに対処する必要があります。ほとんどの場合、コンテンツは次のような役に立たないものです。 エラー!!! xは機能しません 多くの情報なしで。 問題を解決するために、私はそれらのすべての詳細を要求する必要がありますが、多くの場合、問題自体を修正するよりも時間がかかります。他の人は、リンク(システムにアクセスできます)などを送信できますが、スクリーンショット(エラーではなくデータレコード)などの理想的ではない形式で情報を送信します。 プロセスを両方の側で簡単にするために、ユーザー/顧客に問題をより詳細に説明するようにどのように伝えますか? 編集する この質問は、ログおよびエラー情報のプログラムによる収集を達成する方法よりも、ソーシャルスキルに関するものです。これは優れたソフトウェア設計の一部である必要があるという事実を知っています。

8
Javaでは、チェック例外は何に適していますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 Javaのチェックされた例外は、長年にわたっていくつかの悪い報道を受けています。わかりやすい兆候は、それが文字通り世界で唯一の言語であることです(GroovyやScalaのような他のJVM言語でさえも)。SpringやHibernateなどの著名なJavaライブラリもそれらを使用しません。 私は個人的に(レイヤー間のビジネスロジックで)それらの1つの用途を見つけましたが、そうでなければ私はかなりアンチチェックされた例外です。 私が気付いていない他の用途はありますか?

6
例外のエラーログを管理する最良の方法は何ですか?
前書き ウェブサイトまたはシステムでエラーが発生した場合は、ログに記録し、エラーの参照コードを含む丁寧なメッセージをユーザーに表示することはもちろん役立ちます。 また、システムがたくさんある場合は、この情報を点在させたくはありません-単一の集中化された場所を用意しておくとよいでしょう。 最も単純なレベルでは、必要なのは、増分IDとエラーの詳細のシリアル化されたダンプだけです。(そして、おそらく「集中化された場所」は電子メールの受信トレイです。) スペクトルのもう一方の端には、おそらく完全に正規化されたデータベースがあり、ボタンを押して1日あたりのエラーのグラフを表示したり、システムXで最も一般的なタイプのエラーを特定したりできます。サーバーBよりも接続エラーなど。 ここで言及しているのは、リモートシステムによるコードレベルのエラー/例外のログです。Jira、Tracなどで行われるような「人間ベース」の問題追跡ではありません。 ご質問 このタイプのシステムを使用した開発者から、特に次の点についての考えを探しています。 欠かせない基本的な機能は何ですか? 本当に時間を節約する機能があると便利ですか? どの機能が良いアイデアに思えるかもしれませんが、実際にはそれほど便利ではありませんか? たとえば、エラーの複数の発生を識別する「重複の表示」機能(「重要でない」詳細が異なることを心配せずに)は非常に重要です。 [このエラーに対して[Jira / etc]で問題を作成する]ボタンは、時間の節約になります。 繰り返しになりますが、私が望んでいるのは、そのようなシステムを使用した人々からの実践的な経験であり、できれば機能が素晴らしい/ひどい理由を裏付けています。 (とにかく理論化するつもりなら、少なくともそのようなものとしてあなたの答えをマークしてください。)

2
堅牢性とフォールトトレランスの違いは何ですか?
システム/プログラム/分散アルゴリズム/ ...は、多くの場合、述語堅牢またはフォールトトレラントで記述されています。 違いはなんですか? 詳細: + robust + "fault-tolerant"でGoogleを検索すると、2回しかヒットしませんが、どちらも役に立ちません。 Googleで学者の用語を検索すると、タイトルに両方の用語が含まれている多くの論文が見つかります。残念ながら、彼らは用語を正確に定義していません:(しかし、彼らは両方の用語を使用しているので、どちらも他方を意味しないようです。

2
コンパイラはどのようにエラーと警告を報告すべきですか?
私は近い将来にコンパイラを書くつもりはありません。それでも、私はコンパイラ技術に非常に興味があり、このようなものをどのように改善することができますか。 コンパイルされた言語から、ほとんどのコンパイラには2つのエラーレベルがあります。最初はほとんどの場合、修正する必要のある致命的ではない警告とエラー、およびマシン(またはバイト)入力からのコード。 しかし、これはかなり弱い定義です。Javaのような一部の言語では、@SuppressWarningディレクティブを使用せずに特定の警告を取り除くことは不可能です。また、Javaは致命的ではない特定の問題をエラーとして扱います(たとえば、Javaの到達不能コードは、知りたい理由でエラーをトリガーします)。 C#には同じ問題はありませんが、いくつかあります。コンパイルは複数のパスで発生し、パスが失敗すると以降のパスは実行されないようです。そのため、ビルドが失敗したときに取得するエラーカウントは、しばしば大幅に過小評価されます。1回の実行で2つのエラーがあると表示される場合がありますが、修正すると26の新しいエラーが発生する可能性があります。 CとC ++を掘ると、JavaとC#のコンパイル診断の弱点の悪い組み合わせが示されるだけです(ただし、JavaとC#はそれぞれ半分の問題で進んだと言う方が正確かもしれません)。いくつかの警告は実際にはエラーである必要があり(たとえば、すべてのコードパスが値を返すわけではない場合)、それでも警告です。標準を書いた時点では、コンパイラテクノロジはこれらの種類の必須チェック。同じように、コンパイラは多くの場合、標準で規定されている以上のことをチェックしますが、追加の検出には「標準」の警告エラーレベルを使用します。また、多くの場合、コンパイラはすぐに検出できるすべてのエラーを報告しません。それらをすべて削除するには、数回のコンパイルが必要になる場合があります。C ++コンパイラーが吐き出すのを好む不可解なエラーは言うまでもありませんが、 コンパイラーが警告を発したときに失敗を報告するように多くのビルドシステムを構成できるようになったので、奇妙なミックスが得られます。すべての警告に値するわけではありませんが、警告の存在をさらに言及せずにいくつかの警告を明示的に抑制しています。また、すべての警告がエラーになる場合があります。 コンパイルされていない言語には、依然としてエラー報告があります。Pythonのタイプミスは、コードが実際に実行されるまで報告されません。また、スクリプトがエラーを検出すると実行が停止するため、一度に複数のエラーをキックすることはできません。 PHPには、多かれ少なかれ重要なエラーレベルと例外がたくさんあります。解析エラーは一度に1つずつ報告され、警告はスクリプトを中断するほどひどい場合があります(ただし、デフォルトではそうではありません)。 PHPの場合と同じように、本当に奇妙なことがあります(なぜ致命的ではない致命的なエラーのエラーレベルが必要なのでしょうか?E_RECOVERABLE_E_ERROR、私はあなたに話しています)。 私が考えることができるコンパイラエラーレポートのすべての実装が壊れているように思えます。すべての優秀なプログラマーが、エラーに適切に対処することの重要性を主張しているにもかかわらず、それを行うための独自のツールを入手できないため、これは本当に残念です。 コンパイラエラーを報告する正しい方法は何だと思いますか?

4
スクラムスプリント中の制作上の問題の管理
本番環境でのバグ管理の問題は、最近私の心の大きな特徴でした。Sprintはアイテムを追加することを意図していませんが、重大なバグの場合、これは単に避けられません。 このスプリントの中断をどうやって管理するのですか?スプリントに時間の「許容量」のパーセンテージを与えるだけで、スケジュールの80%を「念のため」にスプリントアイテムで満たすだけですか?
8 scrum  errors  sprint 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.