Александр Кошелев
Александр Кошелев Python-разработчик

Разделять надо с умом

Предыдущий мой пост к моему удивлению вызвал бурную реакцию. В нем я рассказывал как некоторые модули джанговского приложения можно разделить на более мелкие.

Общее настроение комментариев - это в большинстве случаев не нужно. Так я полностью с этим согласен. Я и не пропагандирую эти способы как ежедневные практики. Я лишь пытался показать как это можно сделать теоретически.

Да, концептуально необходимость дробления например models.py скорей всего признак каких-то ошибок в проектировании проекта и приложения. Ну а кто не ошибается?

Что все сразу знают как их предметную область разделить на приложения? Чтобы все они были по возможности изолированные и повторно используемые? Так более того в большинстве случаев это не нужно. В большинстве проектов есть всего одно приложение, где заключен весь его (проекта) функционал. В таких случаях и приходит на ум идея разделения распухших модулей на более мелкие.

Спрос есть - такие вопросы регулярно всплывают в рассылках и форумах. Плохо это или хорошо другой вопрос и не такой однозначный.

Я конечно понимаю, что джангисты перфекционисты по сути (да я и сам такой), но не бывает идеального кода, архитектуры и вообще чего угодно. И как раз проекты, которые “работают” в большинстве своём внутри далеко не пример для подражания. Это баланс. Проектировать всю жизнь и ничего не сделать в итоге ещё хуже, чем где-то что-то не отполировать до блеска, но заставить “работать”.

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

PS: Хотел написать про то как шаблонные теги держать вне templatetags, но передумал…

comments powered by Disqus