Я считаю, что есть много способов снять шкуру с кошки, но каков предпочтительный стиль написания маршрутов? 1001 *
def leaderboardGet1(): Route = {
get {
pathEnd {
parameter('name) { name =>
complete(. . .)
} ~
complete(. . .)
} ~
pathPrefix(base64identifier) { leaderboardIdentifier =>
pathEnd {
complete(. . .)
} ~
pathPrefix(base64identifier) { memberIdentifier =>
pathEnd {
complete(. . .)
}
}
} ~
complete {
HttpResponse(BadRequest, entity = "Bad GET /leaderboard request")
}
}
}
Я назову первый стиль совпадения наименее первым, а второй стиль совпадениясамый первый.Если кто-то знает лучшие имена, пожалуйста, дайте мне знать.
def leaderboardGet2(): Route = {
get {
pathPrefix(base64identifier) { leaderboardIdentifier =>
pathPrefix(base64identifier) { memberIdentifier =>
pathEnd {
complete(. . .)
}
} ~
pathEnd {
complete(. . .)
}
}
} ~
pathEnd {
parameter('name) { name =>
complete(. . .)
}
} ~
complete(. . .)
} ~
complete {
HttpResponse(BadRequest, entity = "Bad GET /leaderboard request")
}
}
}
Я ищу больше для удобочитаемости / удобства сопровождения в стиле кодирования, но у меня нет особого смысла.Мне больше нравится второй стиль, так как мне легче увидеть, какой будет самый длинный URL-адрес, но других мнений нет.
Могут быть некоторые соображения производительности, статистически зависящие от того, какие URL-адреса запрашиваются чаще всего, но ясомнение это важно.
Существуют ли другие соображения, касающиеся стиля функционального программирования, идиоматической Scala, идиоматической маршрутизации Spray и т. д .?