1
和以前很多人一樣,我碰到了IllegalArgumentException: Comparison method violates its general contract!
我需要檢查遺留代碼以瞭解所有可能的發生。最好的方法是一個靜態分析工具,它會遍歷所有代碼並檢測可能的問題。比較方法違反其總合同!靜態分析可能嗎?
- 如何TimSort發現這些問題?
- 是否可以運行代碼的靜態分析並找出問題?
- 有沒有這樣的工具可用?也許作爲已有的靜態分析工具的規則?
謝謝,我很害怕這個。其實我需要找到所有的「Comparator」和「Comparable」,這當然不是問題。只是有379個。 – sm4
@ sm4,哇,這是...很多,即使是_big_應用程序。人們不得不懷疑他們是否真的有必要。 – paxdiablo
不幸的遺產。我最好的選擇可能是找出那些沒有被任何測試覆蓋並減少這個數字的人。 – sm4