Замечательный релиз - ничего не сказано о прибыли. Интересно почему? Я не поленился и заглянул в отчет - оказалось убыток 25 ярдов при выручке 160. Отличный бизнес
Да, уж. Телега очень удобна чтобы первый содержательный проект сделать для начинающего программиста, прикрутить минимальный мониторинг к маленькому пет проекту или просто личный ботик для чего-то сделать. Все похерили
Это обманчиво. Мне чуть меньше 50. Я хожу в горы, катаюсь на велосипеде, прохожу в выходные по 30км за раз, но у меня есть целый букет хронических болезней
Меня всегда поражало, что человек получил Нобелевскую премию за констатацию банального факт из начала вводного курса статистики - правило вычисления матожидания и дисперсии суммы случайных величин
"от нее бы отказались в принципе" - и от нее оказались в Go, Rust...
"управления повторным использованием кода" можно делать с помощью композиции. Я не говорю, что наследованием не надо пользоваться, если оно есть в языке, но в большинстве случаев его стоит избегать в пользу композиции в продуктовом коде, хотя в каких-то суровых библиотеках оно вполне допустимо в разумных пределах
по п.2
если вы используете протоколы и проверку типов, то вам прийдется написать соотвествующий метод. Где надо вы явно вызовите валидатор, а не будете полагаться на неявную реализацию и цепочку переопределения методов в иерархии наследованная. Явное лучше не явного. И EmailNotification вы просто его не вызовете или используете NoOps валидатор и будет понятно, что тут проверка не делается
по п.1
"абстрактные классы необходимы, когда нужно передать общую реализацию или состояние", но еще лучше композиция, разделение ответственности и отсутствие состояния. Есть валидаторы, которые только валидируют, есть сендеры, которые только посылают сообщения, есть условный мессендж процессор, которому в рамках композиции передается валидатор и сендер, а он их дергает по очереди, и не нужны никакие абстрактные классы и состояние. И уж тем более не нужны абстрактные классы в маленьких сервисах - это инструмент для больших библиотек
Не вижу смысла в статье - есть документация. ИМХО это вкусовщина. Если глянуть на другие языки, то init гораздо больше похож на конструктор (нет явного возвращаемого значение и есть this/self), но функционал создания объектов размазан в питоне по куче методов и не только по этим двум
После появления протоколов, я полностью отказался от абстрактных классов в Питоне - по-моему утиная типизация (сердце Питона) гораздо лучше ложится на протоколы
Кажется вы решаете не существующую проблему страшно сложными методами. Гораздо проще определить валидаторы отдельно и дергать их напрямую в нужных местах, а не продираться сквозь нижележащий слои абстракции, нарушая инкапсуляцию
Ну и следствие этого. Вообще наследованное самая бесполезная штука в ООП а-ля Джава - ее не было у Алана Кэя и во многих более современных языках от нее успешно отказались. Собственно ваш пример показывает почему это частенько вредная штука
Все примут с окредитаций - у них выхода по сути нет
:)
У всех пофиг разное. Мне вот на Стим пофиг
Потому что это написано в отчетности
Замечательный релиз - ничего не сказано о прибыли. Интересно почему? Я не поленился и заглянул в отчет - оказалось убыток 25 ярдов при выручке 160. Отличный бизнес
Да, уж. Телега очень удобна чтобы первый содержательный проект сделать для начинающего программиста, прикрутить минимальный мониторинг к маленькому пет проекту или просто личный ботик для чего-то сделать. Все похерили
Это обманчиво. Мне чуть меньше 50. Я хожу в горы, катаюсь на велосипеде, прохожу в выходные по 30км за раз, но у меня есть целый букет хронических болезней
А разве Паша чего-то делает сейчас. ИМХО он повзрослел, набрался опыта во французской тюрьме и упокоился
Мне ботик разную полезную мне инфу присылает - вы мне предлагает для этого стать юрлицом
Я не вспомню покупал ли когда-то в МВидио
Меня всегда поражало, что человек получил Нобелевскую премию за констатацию банального факт из начала вводного курса статистики - правило вычисления матожидания и дисперсии суммы случайных величин
А думаете нет? У меня все в семье играют, кроме меня. Даже престарелые родители
Это около 100р в месяц - не какие-то огромные деньги
по п.3
"от нее бы отказались в принципе" - и от нее оказались в Go, Rust...
"управления повторным использованием кода" можно делать с помощью композиции. Я не говорю, что наследованием не надо пользоваться, если оно есть в языке, но в большинстве случаев его стоит избегать в пользу композиции в продуктовом коде, хотя в каких-то суровых библиотеках оно вполне допустимо в разумных пределах
по п.2
если вы используете протоколы и проверку типов, то вам прийдется написать соотвествующий метод. Где надо вы явно вызовите валидатор, а не будете полагаться на неявную реализацию и цепочку переопределения методов в иерархии наследованная. Явное лучше не явного. И EmailNotification вы просто его не вызовете или используете NoOps валидатор и будет понятно, что тут проверка не делается
по п.1
"абстрактные классы необходимы, когда нужно передать общую реализацию или состояние", но еще лучше композиция, разделение ответственности и отсутствие состояния. Есть валидаторы, которые только валидируют, есть сендеры, которые только посылают сообщения, есть условный мессендж процессор, которому в рамках композиции передается валидатор и сендер, а он их дергает по очереди, и не нужны никакие абстрактные классы и состояние. И уж тем более не нужны абстрактные классы в маленьких сервисах - это инструмент для больших библиотек
Но это все ИМХО - на вкус и цвет товарищей нет
Еще раз посмотрите на С++, Java, C#, где понятие конструктора явно существует и что он делает
Не вижу смысла в статье - есть документация. ИМХО это вкусовщина. Если глянуть на другие языки, то init гораздо больше похож на конструктор (нет явного возвращаемого значение и есть this/self), но функционал создания объектов размазан в питоне по куче методов и не только по этим двум
После появления протоколов, я полностью отказался от абстрактных классов в Питоне - по-моему утиная типизация (сердце Питона) гораздо лучше ложится на протоколы
Кажется вы решаете не существующую проблему страшно сложными методами. Гораздо проще определить валидаторы отдельно и дергать их напрямую в нужных местах, а не продираться сквозь нижележащий слои абстракции, нарушая инкапсуляцию
Ну и следствие этого. Вообще наследованное самая бесполезная штука в ООП а-ля Джава - ее не было у Алана Кэя и во многих более современных языках от нее успешно отказались. Собственно ваш пример показывает почему это частенько вредная штука
А как надо назвать?
Он помер, так и не выиграв, но секта фракталов живет
Которая всех послала на три буквы в 2022 году