Size: a a a

Django [ru] #STAY HOME

2021 June 27

N

Nire in Django [ru] #STAY HOME
ну например?
источник

AD

Alex Dem in Django [ru] #STAY HOME
я лишь бы порекомендовал почитать clean code
но каждый имеет право на мнение, на своем настаивать не буду
источник

N

Nire in Django [ru] #STAY HOME
да, конечно, я лишь имхо высказываю)
источник

N

Nire in Django [ru] #STAY HOME
я на конфы также хожу дискутировать, сорри если обидел
источник

N

Nire in Django [ru] #STAY HOME
кстати, в этом году появилась фича же в пучарме, умного выноса части кода в функции
источник

P

Pythonic in Django [ru] #STAY HOME
Что будешь делать если завтра вам скажут что расширяемся и срочно надо телеграм бота написать под вашу бизнес логику? Пойдешь копировать код с вьюх?
источник

A

Alex in Django [ru] #STAY HOME
на сервер запросы шлют реальные устройства, а устройства разных версий, поэтому логика обработки полей немного отличается. Поэтому завел для разных версий отдельные url
источник

A

Alex in Django [ru] #STAY HOME
Спасибо за описание подходов с разных сторон
источник

N

Nire in Django [ru] #STAY HOME
я не буду брать джангу под телега бота, наверное возьму фастапи, который по этим же эндпоинтам будет работать + аутентификацию надо будет еще добавить с телега ботов
источник

N

Nire in Django [ru] #STAY HOME
ну т.е. фастапи будет адаптером телеги для джанги
источник

N

Nire in Django [ru] #STAY HOME
джанго инстанс (на офф сайте инфа в факе) замерен на 50к птс, вполне хватит для основного бека
источник

AD

Alex Dem in Django [ru] #STAY HOME
не, не обидел

я просто сталкивался с логикой во вьюхах

например

набор вьюх описывал некий конвеерный процесс подписания документа несколькими сторонами
вьюхи содержали всё, отвечали за состояния, статусы и прочее
вьюхи содержали много очень подобного кода, нарушали DRY

я с этим говна наелся ух как, и ел бы дальше, но вынесение БЛ процесса в отдельный класс
вкорне изменило ситуацию.

итог - один класс, 200-250 строк

и пачка вьюх по 3-5 строк.
если надо менять процесс - идешь и в классе меняешь.
в одном месте.

стали намного проще тесты
стала намного проще отладка
и самое главное - если нужна будет еще одна вьюха - нет проблем, не надо будет писать еще одну говняную портянку
источник

AD

Alex Dem in Django [ru] #STAY HOME
в общем, моё мнение достаточно устойчиво и выработано болью в одном месте благодаря другим разработчикам
источник

N

Nire in Django [ru] #STAY HOME
ну тут да, зависит от подхода конечно, но бизнес логику во вьюхе принято у нас полностью внутри файла одного прописывать (не включая вызова стандартной или джанго либы конечно)
источник

N

Nire in Django [ru] #STAY HOME
accounts
— views
——__init__.py
——login.py

и т.д. примерно так, для тех кто не понял)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
хорошо, не с телеги понадобится, а в другой вьюхе или в логике тестирования заюзать, или при создании нового объекта отработать. выносить бизнес-логику в отдельный слой, чтобы ее потом использовать откуда угодно, это хорошая практика, а вьюхи на 200 строк - плохая
источник

N

Nire in Django [ru] #STAY HOME
класс APIView имеет в себе 418 строк кода
источник

N

Nire in Django [ru] #STAY HOME
я обычно от него наследуюсь и оверрайдю всякое
источник

N

Nire in Django [ru] #STAY HOME
плюс свои методы и всякие константы
источник

N

Nire in Django [ru] #STAY HOME
то же самое с моделвьюсетом и женериками
источник