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

Moscow Python Meetup №84. Фёдор Борщёв. Питон в аутсорсе: как писать хороший код

Moscow Python Meetup №84. Фёдор Борщёв. Питон в аутсорсе: как писать хороший код

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

Видео: https://youtu.be/5j8FPF92t6g

Moscow Python: http://moscowpython.ru
Курсы Learn Python: http://learn.python.ru
Moscow Python Podcast: http://podcast.python.ru
Заявки на доклады: https://bit.ly/mp-speaker

Moscow Python Meetup

August 24, 2023
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. как обычно переиспользовать: не бизнес-логика, а технические части 1 копируем

    бизнес-логику как надо автоматизируем процессы разработки технические части
  2. DX 2 недели разбираемся начинаем работать 2 недели никто не

    платит начинают платить инхаус аутсорс
  3. DX не платят начинают платить аутсорс make/invoke на все сценарии

    использования docker compose up: стейджинг в один шаг
  4. DX не платят начинают платить аутсорс make/invoke на все сценарии

    использования docker compose up: стейджинг в один шаг CI, который это проверяет
  5. Как настроить хороший аутсорс? правила и принципы переиспользовать, но не

    бизнес-логику, а технические части + DX 1 стандарты 2
  6. забьют или потеряют все стандарты регламентируем в коде Расстановка запятых,

    кавычки, переносы строк — black, autoflake mypy (не забыть сделать жёстким)
  7. забьют или потеряют все стандарты регламентируем в коде Расстановка запятых,

    кавычки, переносы строк — black, autoflake mypy (не забыть сделать жёстким) Более сложные требования к коду — flake8/ruff plugins
  8. забьют или потеряют все стандарты регламентируем в коде Расстановка запятых,

    кавычки, переносы строк — black, autoflake mypy (не забыть сделать жёстким) Более сложные требования к коду — flake8/ruff plugins Требования к тестам — flake8-pytest, flake8-aaa, pytest-randomly, pytest-deadfixtures
  9. забьют или потеряют все стандарты регламентируем в коде Расстановка запятых,

    кавычки, переносы строк — black, autoflake mypy (не забыть сделать жёстким) Более сложные требования к коду — flake8/ruff plugins Требования к тестам — flake8-pytest, flake8-aaa, pytest-randomly, pytest-deadfixtures wemake.services: styleguide, django-template
  10. Как настроить хороший аутсорс? правила и принципы переиспользовать, но не

    бизнес-логику, а технические части + DX 1 жёсткие стандарты 2
  11. Как настроить хороший аутсорс? правила и принципы переиспользовать, но не

    бизнес-логику, а технические части + DX 1 жёсткие стандарты 2 взаимодействие с основной командой 3
  12. взаимодействие с основной командой: event driven architecture 3 наш код

    – отдельный сервис взаимодействие через RabbitMQ
  13. взаимодействие с основной командой: event driven architecture 3 наш код

    – отдельный сервис взаимодействие через RabbitMQ Если сложно делать события — CDC
  14. переиспользовать, но не бизнес-логику, а технические части + DX 1

    жёсткие стандарты 2 Не пытаться встроиться в чужую команду 3