강의 등록 함수
오늘 공부한 함수 추출하기를 적용 해보려 한다.
한눈에 봤을때 흐름이 명확해 보이지 않는다.
이유는 길어진 함수 길이와 for문 때문인 것 같다.
먼저 for문을 추출할 함수를 생성한다.
강의 리스트를 돌면서 강의 이름을 확인하는 작업이므로 validationName이라고 함수이름을 생성한다.
private async validationName() {
}
추출할 for문을 덜어내 함수로 추출한다.
private async validationName(lectureList: Lectures[]): Promise<Lectures[]> {
const result: Lectures[] = []
for (const lecture of lectureList) {
const checkName = await this.lecturesRepository.findByName(lecture.lectureName)
if (checkName == null) {
result.push(lecture)
}
}
return result
}
원래 코드는 주석처리한 뒤 테스트를 실행해 본다.
이상 없음!
주석 제거 후 커밋!