더북(TheBook)

여러 함수 결합하기

타입을 정의했다. 드디어 함수를 작성하는 데 필요한 모든 재료가 준비됐다. 이제 시작해보자! 다이어그램을 따라 간단한 함수를 차례로 만들면 된다. 먼저 네 함수의 시그니처다.

구현에 대해서는 나중에 다룰 것이기 때문에, 먼저 NotImplementedError를 던지는 매우 편리한 TODO() 함수를 사용할 것이다. 이 함수는 항상 NotImplementedError를 던져서 다시 돌아와 구현을 완료해야 한다는 사실을 상기시켜줄 것이다.

각 함수의 입력과 출력 타입을 보면 함수 이름을 보지 않고도 함수의 의도를 충분히 추측할 수 있다.

fun extractListData(request: Request): Pair<User, ListName> = TODO()  
fun fetchListContent(listId: Pair<User, ListName>): ToDoList = TODO() 
fun renderHtml(list: ToDoList): HtmlPage = TODO()     
fun createResponse(html: HtmlPage): Response = TODO() 

이 함수는 요청에서 사용자 이름과 목록 이름을 뽑아낸다.

실제 사용자 이름과 목록 이름을 키로 사용해 저장소에서 목록 데이터를 가져온다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.