11-DSL 만들기
API에서 DSL로 궁극적인 목표: 코드의 가독성과 유지 보수성을 가장 좋게 유지하는 것 깔끔한 API의 의미 코드를 읽는 독자들이 어떤 일이 벌어질지 명확하게 이해할 수 있어야 한다. 이름과 개념을 잘 선택하면 이런 목적을 달성할 수 있다. 어떤 언어를 상요하건 일므을 잘 붙이고 적절한 개념을 사용하는 것은 매우 중요하다. 코드가 간결해야 한다. 불필요한 구문이나 번잡한 준비 코드가 가능한 한 적어야 한다. 깔끔한 API는 언어에 내장된 기능과 거의 구분할 수 없다. 코틀린 DSL도 온전히 컴파일 시접에 타입이 정해진다....