리팩토링-클린 코드의 예시

테디준·2022년 8월 31일
0

1. Api의 경우, 주소 하나 당 데이터 가져오는 함수 한 개만 만든다.

빨간 박스 친 부분은 제목이나 평점으로 데이터를 정렬하는 함수라서 굳이 Api 부분에서 쓰지 않는다.

리스트로 만들지 않고 json to dart를 통해 만든 MovieDto, 즉 통 데이터를 가져온다.

2. 주관을 가지고 데이터를 가공하는 건 Repository에서 한다.

GetResult를 받아와서 sort 기능을 사용한다.

copyWith 가능을 사용하려면 Freezed를 써서 모델 클래스를 만들었어야 한다. 하지만 json to dart로 Dto를 만들 때 "Generate CopyWith Method"를 체크하면 사용가능하다.

3. UI부분에서 똑같은 형식이고, 데이터만 달라지는 반복되는 부분(노란 색으로 체크한 부분)을 component 폴더를 만들어 별도로 뺀다.

반복되는 코드를 보면 아래와 같다. 변수를 제외하곤 똑같은 코드다.

똑같은 코드를 movieList파일로 만든다. 그러면 재사용도 가능하고, UI부분도 깔끔해진다.

이 파일을 변수만 바꿔서 MainScreen에서 사용한다.

토스의 클린코드 영상 바로가기

0개의 댓글