Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Превратности именования микросервисов

Превратности именования микросервисов

Такая с виду простая и несерьезная тема, как выбор имен микросервисам, может стать источником головной боли, когда система вырастает и в игру вступает человеческий фактор. В этом мини-докладе Владимир поделится опытом своей команды в этом вопросе: на какие грабли наступили, какие варианты попробовали, что зашло, а что не очень. На примерах из жизни посмотрим, как можно сместить именование от рутины к творчеству без потери качества.

Vladimir Plizga

October 26, 2019
Tweet

More Decks by Vladimir Plizga

Other Decks in Programming

Transcript

  1. Превратности
    именования
    микросервисов

    View Slide

  2. Я Владимир Плизгá
    разработчик ЦФТ
    Привет!
    2

    View Slide

  3. Контекст
    Зачем вообще об этом думать
    1
    3

    View Slide


  4. There are only two hard things
    in Computer Science:
    cache invalidation and naming things.
    — Phil Karlton
    4

    View Slide

  5. С приходом микросервисов
    проблема становится ещё острее
    5

    View Slide

  6. Модуль в монолите
    ◉ Не важен при разработке
    ◉ Не виден в тестировании
    ◉ Не интересен при релизе
    Потому что жизненный
    цикл стал совсем другим
    Микросервис
    ◉ Разрабатывается отдельно
    ◉ Тестируется отдельно
    ◉ Выносится отдельно
    6

    View Slide

  7. Вместо disclaimer’а
    ◉ Речь не о декомпозиции а об именовании
    ◉ Опыт одной команды
    ◉ Субъективщина и вкусовщина
    7

    View Slide

  8. Подходы к
    именованию
    На примерах наших и не только
    2
    8

    View Slide

  9. Классика
    Старый добрый дедовский способ
    9

    View Slide

  10. Классический подход
    ◉ Примерно как классы в коде
    ◉ По лучшим практикам



    10

    View Slide

  11. Классический подход
    ➕ Легко понять
    ❓ Легко запомнить
    ➖ Длинные
    трудно писать
    трудно произносить
    не везде входят
    11

    View Slide

  12. Людям свойственно
    сокращать
    Не потому что мы ленивые
    А потому что разумные
    12

    View Slide

  13. Классический подход
    ➕ Легко понять
    ❓ Легко запомнить
    ➖ Длинные
    трудно писать
    трудно произносить
    не везде входят
    13

    View Slide

  14. Сокращение
    Триумф мыслительной деятельности гуманоида
    14

    View Slide

  15. Сокращ.-я
    ➕ Легко писать
    ❓ Легко произносить
    ➖ Трудно запомнить
    ➖ Трудно понять
    нужен справочник

    15

    View Slide

  16. Чтобы легко понять и запомнить,
    нужна ассоциация…
    16

    View Slide

  17. Ассоциация
    Мечта домохозяйки
    17

    View Slide

  18. Ассоциация
    ➕ Легко запомнить
    ➕ Легко писать
    ➕ Легко произносить
    ❓ Легко понять
    ➖ Трудно найти
    ➖ Можно пересечься
    18

    View Slide

  19. Производная ассоциация
    19

    View Slide

  20. Производная ассоциация
    20
    ◉ Опирается на базовое понятие
    ◉ Имеет созвучный ударный слог
    ◉ Не обязательно существующее слово
    ◉ В остальном это ассоциация сокращение

    View Slide

  21. Производная ассоциация
    ➕ Легко запомнить
    ➕ Легко писать
    ➕ Легко произносить
    ❓ Легко понять
    ➖ Трудно найти
    ➕ Интересно искать
    21

    View Slide

  22. Демократия — наихудшая
    форма правления, если
    не считать всех
    остальных.
    У. Черчилль
    22

    View Slide

  23. 23

    View Slide

  24. Осведомлённость
    Участники процесса заранее
    узнают с каким
    микросервисом им
    предстоит работать и могут
    на это повлиять
    Коллективный выбор
    решает сразу 2 задачи
    Генерация идей
    В мозгоштурме и спорах
    появляются поистине клёвые
    варианты имён
    24

    View Slide

  25. 25

    View Slide

  26. 26
    Однако
    С таким подходом
    важно не впадать в
    крайность
    Здравый смысл никто
    не отменял

    View Slide

  27. И чё?
    Резюме и выводы
    3
    27

    View Slide

  28. Чек-лист по выбору имён
    Лаконичность
    Желательно не больше
    букв или слогов
    Иначе все равно
    сократят
    Запоминаемость
    Хорошо как в имени
    есть крючок для
    построения ассоциации
    Произносимость
    Чем меньше подряд
    идущих согласных тем
    лучше
    Записываемость
    Двойные гласные и
    согласные наверняка
    станут причиной
    опечаток
    Транслитерируемость
    В чатах лень менять
    раскладку поэтому имя
    точно будут писать на
    русском
    Логичность
    Легко превратить имя в
    ребус куда сложнее
    сделать его понятным
    28

    View Slide

  29. Основные выводы
    ◉ Имена микросервисов для людей
    ◉ Кто нибудь всегда недоволен
    ◉ Логичность понятность не панацея
    29

    View Slide

  30. «Как корабль назовёшь,
    так он и поплывёт»
    30

    View Slide

  31. Время для вопросов
    Владимир Плизг


    Спасибо!
    31

    View Slide