我正在研究一種解決方案,包括基于屬性的 2 種型別的排序。您認為哪種方法更好?
public class ABComparator implements Comparator<O> {
private final Property property;
public ABComparator(Request request) {
property = getProperty();
}
@Override
public int compare(O o1, O o2) {
if (property.someLogic()) {
// 1 first type of sorting
} else. {
// another type of sorting
}
}
}
或者最好有 2 個具有自己邏輯的類,并在實際發生排序的類中選擇一個?
謝謝
uj5u.com熱心網友回復:
當您在演算法中加入更多突變和更多“選擇”時,問題就會成倍增加。
您可以查看 Sonarcloud 對認知復雜度和圈復雜度的看法。https://www.sonarsource.com/resources/cognitive-complexity/
簡而言之,更少的選擇,更少的狀態管理將創建更健壯的代碼和更少的錯誤。引入 2 個類的復雜性很低,尤其是在它們不依賴于其他任何東西的情況下。添加的代碼量應該很低。我個人會使用 2 個類和 2 個實作,如果可能的話,它們之間不共享任何東西,所以在你的比較函式的實作中沒有 if 條件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/522684.html
標籤:爪哇排序比较器字符串比较
