Константы могут быть действительно мощными, если начальная строка используется в разных областях кодовой базы, например, если у вас есть два разных URL с одинаковым путем $VIDEOS
, так как вы можете редактировать все это сразу. Однако создание констант только потому, что они «могут» использоваться в разных местах, может быть кошмаром для поддержания. Например, как указано выше, два API используют путь $VIDEOS
, но изменяется только одно.
Однако, с другой стороны, здесь может быть полезна польза, а именно с slug
, из вашего примера, но отредактировано.
private const val SLUG = "thing"
@GET("videos/public/{$SLUG}")
fun getVideos(@Path($SLUG) slug: String, @Query("limit") limit: Int): List<Video>
Как это используетсяв одном вызове API, но в двух областях. Главное, что вы можете перевести вещи в константы, но только если это имеет смысл. Старайтесь не абстрагироваться от всего API, так как когда вы это делаете, изменение и обслуживание будет сложнее.
Когда у меня возникают сомнения, я также возвращаюсь к примерам в самой библиотеке. Документация по модернизации Приведенные здесь примеры не имеют никаких констант.