@pydjango

Страница 156 из 1273
Tigran
01.03.2017
13:04:00
я бы конечно сделал два приложения

но допустим, они в джанге как приложения

где вы будете хранить их шаблоны?

parikLS
01.03.2017
13:04:30
не верю я в реюзабл приложения.....

Google
Serge
01.03.2017
13:04:42
Как в идеале. То что ты можешь юзать 2 и более раза без изменений надо выносить в пакеты и отдельный гит. и ставть через pip. остальное для вашего проекта будет уникально. Но это в идеале.

Serge
01.03.2017
13:06:08
Так что то что вы не можете вынести одельным проектом в гит, но считаете реюзабл. Это самообман) "Авось где-то пригодится еще"

Denis
01.03.2017
13:06:29
не верю я в реюзабл приложения.....
Можете не верить, оно работает)

Eugene
01.03.2017
13:07:52
У меня сейчас проект, предыдущий разраб вынес шаблоны и статику в /themes/default/ и тут папки static и templates А модельки и админки все в папке /core/models.py и admin.py Ну, а в папках с приложением forms views urls etc

Вот мне из этого только Модели и Админка не понравилось, а все остальное очень даже какжется удобным )

Serge
01.03.2017
13:09:23
Ну все складывать в папку core или типа того неправильно. Нужна модульность и разбивка на приложения

Если конечно это не блог из пары страниц

Eugene
01.03.2017
13:09:59
Угу, ме этот момент тоже не понравился : )

Неее, там огромная приложуха .

1к строк почти в models.py ...

Это просто ужасно.

Serge
01.03.2017
13:11:01
Да это печально) Для отого кому надо это поддерживать

Google
Eugene
01.03.2017
13:11:12
Two scops with Django рекомендуют хранить все шаблоны в templates/

Tigran
01.03.2017
13:11:27
Eugene
01.03.2017
13:11:57


Tigran
01.03.2017
13:12:18
на прошлых местах работы были классы по 10к строк (один класс, не список)

да и сейчас есть

Serge
01.03.2017
13:12:54
Я про это и сказал выше.

Tigran
01.03.2017
13:13:27
И как работалось?
вполне нормально

в крупных проектах это нормально

сейчас есть модель Car, 9456 строк)

Dmitriy
01.03.2017
13:15:50
amureki
01.03.2017
13:15:59
Я бы не говорил, что это нормально Насколько тестами всё покрыто?

Denis
01.03.2017
13:16:58
сейчас есть модель Car, 9456 строк)
2 вопроса - как и зачем? Управление сложностью не?

Tigran
01.03.2017
13:17:08
Я бы не говорил, что это нормально Насколько тестами всё покрыто?
когда у тебя платежная система и основной моделью является transaction - это нормально

или когда у тебя онлайн аукцион машин - тоже нормально

Serge
01.03.2017
13:17:25
Большие проекты это отдельный разговор)

Tigran
01.03.2017
13:17:28
Я бы не говорил, что это нормально Насколько тестами всё покрыто?
мало, во время разработки mvp никто не писал тесты

Google
Tigran
01.03.2017
13:18:00
а сейчас стараемся разбивать на микросервисы

Serge
01.03.2017
13:18:30
В больших проектах хорошо дробить модели, классы через абстракции уже и т.д. иначе поддерживать сложно

amureki
01.03.2017
13:18:32
или когда у тебя онлайн аукцион машин - тоже нормально
Чем они отличаются от других крупных проектов, что им позволительно перегружать код моделей?

Tigran
01.03.2017
13:19:08
Serge
01.03.2017
13:20:31
В джанго меня бесит одна вещь, что логика сущностей не отделена от самой сущности. Все пихают в модель кучу кода управления. В больших проектах это совсем очевидно

Tigran
01.03.2017
13:20:59
этому есть решение

мне нравится идеология, которая реализована в Symfony

там есть модель и сервис

модель - описание самой сущности

сервис - логика сущности

ну, это конечно оптимизирует и разделит какую то часть кода

Serge
01.03.2017
13:21:56
Ну ты можешь делать абстракции, наследовать логику в сущность, но все решения костыли, ибо в самой архитектуре уже заложено что сущность и управление сущностиью в одном классе

Tigran
01.03.2017
13:22:21
ну, абстракции - это хорошо

но они никак тебе не помогут, если эта логика используется в одном месте

Serge
01.03.2017
13:22:49
Но не все их делают, я тоже встречался с моделями в 10к+ строчек, где все вперемежку

amureki
01.03.2017
13:23:29
тем, что почти вся логика завязана на одной сущности
Что-то меня это не убеждает писать лапшу на десяток тысяч строк

Все можно вынести

Denis
01.03.2017
13:23:44
Tigran
01.03.2017
13:23:51
там много функций

Google
amureki
01.03.2017
13:24:25
Да

Serge
01.03.2017
13:24:52
В сущность пихают и нестандартную валидацию и тригеры (вроде отправки уведомлений) и сами действия вроде что-то посчитать и когда это растет это довольно тяжко для поддержки

Eugene
01.03.2017
13:25:15
А какие вьюхи в таких проектах?: )

Serge
01.03.2017
13:25:49
Вьюхи как раз там не шибко большие, в крайнем случае Mixin и тд. А вот с сущностями беда

Tigran
01.03.2017
13:26:16
А какие вьюхи в таких проектах?: )
их много) какие вас интересуют?)

Serge
01.03.2017
13:26:22
amureki
01.03.2017
13:26:38
там много функций
Можно вынести часть функций, относящихся к одной подтеме в миксин, например. Это не запрещено, даже если миксин будет импортиться один раз

Tigran
01.03.2017
13:28:11
Где?
в классах валидации

Admin
ERROR: S client not available

Eugene
01.03.2017
13:28:21
их много) какие вас интересуют?)
Да обычные, количество строк например: ) И CBV или FBV?

Serge
01.03.2017
13:28:46
CBV конечно

Tigran
01.03.2017
13:28:55
Да обычные, количество строк например: ) И CBV или FBV?
ни то ни другое, проекты не на питоне

шаблоны - twig

Denis
01.03.2017
13:29:46
там много функций
И вынести функции в utils абстрагируясь от типа оперируемых объектов

Tigran
01.03.2017
13:30:30
И вынести функции в utils абстрагируясь от типа оперируемых объектов
я согласен, их можно разделить и это будет правильно

но в целом, они все равно будут большими

из 10к строчек 100 не получится сделать =)

amureki
01.03.2017
13:31:14
Не всё же сразу

Google
amureki
01.03.2017
13:31:56
В итоге эти части будут абстрагироваться, их будет легче мейнтейнить и тестировать

Denis
01.03.2017
13:31:57
из 10к строчек 100 не получится сделать =)
Постепенный рефакторинг - оказыаается что из 10 все 5 дублирубтся

Просто для разных объектов

amureki
01.03.2017
13:32:32
А на лапшу в 10к строк даже смотреть не хочется, радости от работы с таким очень мало

Serge
01.03.2017
13:33:38
К Джанго не относится, но руководство не любит рефакторинг как правило. Результатов не видно и все такое. Сначала убеди)

Tigran
01.03.2017
13:33:56
смотря какое руководство

если они его не любят, они не совсем компетентны

Denis
01.03.2017
13:34:24
смотря какое руководство
Это и + снижение затрат на поддержку и внедрение новых фич

Покрытие тестами легче -> меньше багов

Serge
01.03.2017
13:34:53
Tigran
01.03.2017
13:35:13
но это не значит, что они правы)

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

это может быть unit economic

user experience

acquisition

code refactoring и так далее

если все время писать код и оставлять таким какой он есть, это ведет к материальным ущербам

Serge
01.03.2017
13:40:42
В особо крупных компаниях да, так и есть в большинстве случаев. Но представь какой-то средний интернет бизнес, кода навалом. Разработчиков несколько, пара тестеров, ну 1 архитектор, он же тим лид и штук 50 всяких там маркетологов и прочий нечисти. Там не до рефакторинга, надо отбиваться от нечисти, которая хочет то се)

И таких большинство

Serge
01.03.2017
13:41:56
Ну ему бы за качеством кода следить) А он только отбивается

Страница 156 из 1273