Кіт ✙
Сделай статикметод, если это твой код
а так разве можно было что ли?
Anonymous
А ещё лучше не делай статикметоды, и перепиши чтобы не использовались статикметоды
Anonymous
+
Tishka17
пока тут отладка идет, понятно что там будут отсылка писем и sentry
Ну отсылка в сентри только на верхнем уровне наверно
Кіт ✙
А ещё лучше не делай статикметоды, и перепиши чтобы не использовались статикметоды
нет желания, делать желе из функций. Хочу, чтобы всё было расфасовано по классам, все дела
Evgeny
да в верхнем
Evgeny
по идее до Exception вообще не должно дойти
Tishka17
В остальных кейсах ловишь конкоетные ошибки и/о или либы и кидаешь ошибку бизнес логики
Tishka17
А что плохого в статик методах?
Как правило их почему-то юзают вместо функций
Anonymous
нет желания, делать желе из функций. Хочу, чтобы всё было расфасовано по классам, все дела
У тебя .content() должна показывать контент из пути который в self находится?
Skarn
Как правило их почему-то юзают вместо функций
Ничего в этом плохого не вижу. Просто функции, семантически объединенные в класс
Anonymous
Просто если для любого пути - то этот метод не должен находиться в этом классе как помне
Кіт ✙
а то чарм на ноль ругался
Tishka17
Ничего в этом плохого не вижу. Просто функции, семантически объединенные в класс
Статик метод - это член класса, который может быть переопределен при наследовании
Tishka17
Соответственно должен проектироваться с учётом этого
Skarn
Я не сторонник процедурщины, делаю классы даже там, где наследование не понадобится никогда.
Tishka17
То, что ты сделал только базовый класс не значит, что он него не будут наследоваться
Skarn
ООП лишь ради полиморфизма - как по мне, узкое понимание ООП
Tishka17
Классы - это не неймспейсы
Skarn
То, что ты сделал только базовый класс не значит, что он него не будут наследоваться
Ну если это внутренний класс, кто от него будет наследоваться
Tishka17
Для неймспейсов есть модули
Skarn
В модуле может быть несколько классов с разной семантикой
Tishka17
Или у тебя маленькие классы или слишком большие модули
Skarn
Это вопрос вкусовщины в любом случае.
Tishka17
Модуль - это набор логически объединенных классов
Skarn
само собой
Tishka17
Его размеро ну строк 300
Tishka17
Много классов не впихнешь
Skarn
А классы решают подзадачи модуля
Tishka17
Эм. Класс нужен для создания объектов
Skarn
Не вижу ничего плохого в том, чтобы использовать их как поднеймспейс
Skarn
Эм. Класс нужен для создания объектов
Ну да. Но даже если объект теоретически один за время обработки, ничего плохого в этом опять же не вижу
Tishka17
Не вижу ничего плохого в том, чтобы использовать их как поднеймспейс
Например, невозможность импортировать функцию из класса
Tishka17
Или непродуманная возможность её переопределить при наследовании
Skarn
Ну поэтому я выношу реюзабельные функции отдельно в своеобразные utils модули. А для функции, которая реюзается в контексте только одного класса, ей самое место в статик методе. Тк она семантически принадлежит ему
Tishka17
Я понимаю там фабричный метод ты делаешь. Окей, пусть будет в классе
Skarn
Но опять же, если кому-то удобно иначе, ни на чем не настаиваю, это все имеет место быть
Anonymous
статик методы можно писать без учета оверрайдов
Anonymous
классметоды нет
Anonymous
просто оращаться к статик методам через мро это неправильно
Anonymous
да
Skarn
Нет, не принадлежит. То, где функция используется не является признаком её принадлежности. Вопрос, что она делает
Ну если функция решает задачи актуальные только для одного класса, делать ей нечего в качестве самостоятельной единицы
Kop
Всем привет, планирую в след году менять работу и переезжать. Что лучше подтянуть чтобы быть полноценным middle, middle+ Книги и пожелания приветствуются. Прикрепил резюме
Kop
Tishka17
статик методы можно писать без учета оверрайдов
class A: @staticmethod def a(): print('a') class B(A): @staticmethod def a(): print('b') A().a() B().a()
Anonymous
зачем ты через инстанс то обращаешься?
Anonymous
это через мро пойдет
Anonymous
а само название статик подразумевает отсутсвие полиморфизма
Tishka17
Нет
Skarn
+
Anonymous
ну, испортить можно все что угодно
Anonymous
да
Tishka17
а само название статик подразумевает отсутсвие полиморфизма
Оно означает что не используются данные экземпляра и класса
Skarn
а само название статик подразумевает отсутсвие полиморфизма
На самом деле этот подход в питоне опционален
Skarn
Да в других языках это так
Anonymous
ну понятно
Skarn
Вопрос вкуса. Я обращаюсь обычно по имени типа, но ничего прям уж такого плохого в таком варианте не вижу.
Anonymous
кроме мро
Anonymous
))
Tishka17
В общем, если метод должен быть частью апи класса - я согласен за статик метод
Vladimir
Вырезать?)))
естественно мидл прогер хочет поадминить или как это понимать?)
Anonymous
даже админский опыт может смутить
Anonymous
щас такие времена
Aleksandr
почему?
Kop
естественно мидл прогер хочет поадминить или как это понимать?)
прогер который может в организацию сети и выстроения взаимодействия компонентов))