次のような数千行のコードを持つチームに参加しました。
int x = 0;
x=something();
short y=x;
doSomethingImportantWith(y);
コンパイラは、「XX ビット型の値を "short" に変換すると切り捨てが発生する」という適切な警告を出します。切り捨てが実際に発生するケースはないと言われたことがありますが、私はそれを真剣に疑っています。
次の効果を持つ各ケースにチェックを挿入する良い方法はありますか?
if (x>short.max) printNastyError(__FILE,__LINE);
各課題の前に?これを手動で行うと、私が使用したいよりも多くの時間と労力がかかります。また、警告を読み取り、必要なインクルードだけでなく、この内容を正しいファイルに追加するスクリプトを作成するのはやり過ぎのようです。これを行いました(またはそれに似たもの)。
私はパフォーマンス (実際には) や、これらの問題がいつ発生するかを知ること以外は気にしないので、本当に重要なものだけを修正するか、それが問題であることを経営陣に納得させることができます。