ロジックコードの最適化

リストの重複排除

//普通代码去重
public List<Student> studentList(){
    
    
	List<Student> studentList = studenService.findStuList();
	for(int i=0;i < studentList.size()-1; i++){
    
    
		for(int j = studentList-1;j>i; j--){
    
    
			if (studentList.get(j).getHandover_record_id()== (studentList.get(i).getHandover_record_id())) {
    
    
                    studentList.remove(j);
            }
		}
	}
	return studentList;
}
//java8去重
studentList = studentList.stream().collect(
	Collectors.collectingAndThen(
		Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(studentList::id))),ArrayList::new)
);

複数の if else を最適化する方法

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

複数のスイッチケースを最適化する方法

この期間中、コードの循環的複雑度を修正してきましたが、各関数メソッドの循環的複雑度が 5 を超えないようにすることが要件となります。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

 public  int calculatePay(User user){
    
    
        
        switch(user.type){
    
    
            case A:
                return methodA();
                
            case B:
                return methodB();
            case C:
                return methodC();
        }
        
    }
public abstract class User{
    
    



      public. abstract. int  calculatePay();


      public  abstract  int  calculateBill();  

}

public interface UserFactory{
    
    
        
    public User getUser(UserType u);

}    


public class UserFactoryImpl implements UserFactory{
    
    

       public User. getUser(UserType u){
    
    

               switch(u.type){
    
    

                  case A:

                     return UserA;

                  case B:
                     return UserB;
                  
                  case C:
                      return UserC;

             }
       }  

}         

将来的に新しい型が追加された場合、新しい実装クラス UserD と UserE を追加するだけで、ビジネス ロジックを変更する必要はありません。

StringUtils の共通メソッド

文字列が空かどうかの判定 文字列
の大文字小文字変換関数とメソッド
文字列置換関数とメソッド
指定文字列の文字列削除
逆引き関数と分割関数
文字列のインターセプト 2 つの文字列が等しいかどう
かを判定し、文字列間の差異を比較します。
、デフォルトの文字列を返します
、文字列間の違いを比較します

おすすめ

転載: blog.csdn.net/qq_40660283/article/details/107780182