Size: a a a

2018 November 09

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Вообще обсуждение последних двух дней напоминает спор о том, как правильно держать ручку в руке. Какая разница как, если тебе удобно писать?
Со спорами всегда так.
источник

RK

Roman Khlebnov in JUG NN
Sergey Kapralov
Вопрос. Можем ли мы как правило рассчитывать на стабильность REST API?
Зависит от твоего SLA?
источник

RK

Roman Khlebnov in JUG NN
Да и нормальное изменение API по-хорошему проводится не сразу, а, скажем, версия 1 имела одно, версия 2 имеет новые и старые вещи, версия 3 выпиливает старые вещи (если частота релизов невысока, в противном случае чиселок версий будет больше)
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Зависит от твоего SLA?
Моя позиция такая: польза контракта - в стабильности. Если контракт меняется на каждый несущественный чих - это плохая абстракция. Обеспечить стабильность для REST API видится мне как задача гораздо тяжелее, чем обеспечить стабильность маленького сегрегированного бизнес-ориентированного интерфейса.
источник

RK

Roman Khlebnov in JUG NN
При этом ты не отрицаешь, что жёстко зафиксированный SLA является подобием гаранта неизменности REST API
источник

SK

Sergey Kapralov in JUG NN
Не отрицаю, но на практике как жестко и как часто его фиксируют?
источник

SK

Sergey Kapralov in JUG NN
Заказчика не всегда переспоришь.
источник

RK

Roman Khlebnov in JUG NN
Поэтому существуют отдельные команды, допиливающие для заказчика необходимые штуки.
источник

SK

Sergey Kapralov in JUG NN
Что значит "допиливающие". Как недостающие штуки они допилят в неизменный API?
источник

RK

Roman Khlebnov in JUG NN
Да и попросту может не уметь правильно готовить твой API
источник

RK

Roman Khlebnov in JUG NN
Sergey Kapralov
> не создает глобальных проблем при разработке приложений

Да как не создает, когда создает. Сервис, зашитый на сервис - это прямое нарушение DIP - конкретика завязанная на конкретику. Со всеми вытекающими - муторно менять, муторно рефакторить, муторно держать сложность в узде, муторно тестить, муторно читать. Сплошь и рядом такое вижу, никогда не видел чтоб проложение с инжекциями на аннотациях были норм
Кстати, я бы вот не сказал что тот веб-сервис Бугаенко из композиций внезапно офигенно лёгок для чтения/рефакторинга/изменения
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Кстати, я бы вот не сказал что тот веб-сервис Бугаенко из композиций внезапно офигенно лёгок для чтения/рефакторинга/изменения
Мне тоже не нравится код Бугаенко, что не мешает мне практиковать его концепцию.
источник

SK

Sergey Kapralov in JUG NN
И кстати я не 100% согласен с его тезисами. Скорее процентов на 60-70.
источник

SK

Sergey Kapralov in JUG NN
Как я уже говорил, проблема огромных композиций впринципе решаема. У меня в puzzlerbot'е по ссылке выше больших пирамид нет
источник

RK

Roman Khlebnov in JUG NN
И касательно DI - немного магии всегда не помешает. Я уверен что никто досконально не изучает устройство современного ДВС, чтобы ездить на авто, оставляя для себя этот небольшой кусочек "магии", который просто работает.
источник

RK

Roman Khlebnov in JUG NN
Вот и @max_belov недавно диву давался аннотации
@ConditionalOnMissingBean
в спринге
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
И касательно DI - немного магии всегда не помешает. Я уверен что никто досконально не изучает устройство современного ДВС, чтобы ездить на авто, оставляя для себя этот небольшой кусочек "магии", который просто работает.
Про магию впринципе спорить не буду, просто не каждая магия - белая. Я например не стесняюсь пользоваться код- и байткод-генерацией. Про Авто и ДВС не хочу рассуждать. Это нас никуда не заведет.
источник

SK

Sergey Kapralov in JUG NN
Roman Khlebnov
Вот и @max_belov недавно диву давался аннотации
@ConditionalOnMissingBean
в спринге
Да, я помню, выше уже поминалось. В таких случаях я задаю себе вопрос "и ради чего это все было?".
источник

RK

Roman Khlebnov in JUG NN
А я в своё время охреневал от implicits и макросов в Scala
источник

RK

Roman Khlebnov in JUG NN
Но оказалось вполне удобненько
источник