처음에는 제시된 대로 list<list<String>
로 받아 일단 구현했는데 리팩토링을 하다보니 list<list<String>
을 get(index).get(0)
이런 식으로 name을 가져오는 것도 불편했고, name만 갖고 비교해서 나중에 해당 name을 갖고 email을 가져오는 반복문을 돌려야 하기도 해서 불편했다.
즉, list<list<String>
으로 되어있어서 혼파망이다..
member 객체로 관리하게 리팩토링 해보자
코드를 다 짜고 리팩토링 할 때, 인텔리제이의 extract method를 사용해봤는데 이게 오래 걸리게 한 주범이었던 것 같다. 리팩토링만 6시간^^
원래 방식은 다 짜진 코드를 갖고 내가 직접 굿노트에 이리 저리 묶어가며 하는 수동메소드추출(?) 방식이었는데, 어제 스터디원의 코드 리뷰 중 알려준 extract method 기능을 사용해보느라 이걸 썼더니 변수가 이리저리 섞이는 문제가 발생했다ㅎㅎ
뭐든 적당히 잘 쓰자..
생성한 객체 배열 정렬하기(Comparator)
Comparator, Lamda 사용하여 2차원 배열 정렬하기
RECOMMAND_LIST.sort(Comparator.comparing(User::getScore).reversed().thenComparing(User::getId));
listConverter의 역할의 범위를 고민해봐야할 것 같다.
listConverter의 역할이지만 같은 클래스 내의 함수가 쓰기 편한 이유로 메인클래스에 들어있는 메소드들도 있어서!