@ru_python

Страница 7830 из 9768
Sheridan
22.01.2019
23:39:02
зачем ты пишешь тогда? ?
потому что хочу

Владимир
22.01.2019
23:39:23
да?
Да) Если ты с С-подобных пришел в питон, то какое-то время будешь испытывать ломку привычных связей в мозгу. Потом возвращаться не захочешь.

Sheridan
22.01.2019
23:39:29
если бы он умел что я хочу - я бы уже реализовал хотелку и принялся за другую

Google
Владимир
22.01.2019
23:40:18
спорно, очень спорно
Питон все верно сделал. Он наказал за путанное множественное наследование и заставил рефакторить код

Sheridan
22.01.2019
23:41:44
Да) Если ты с С-подобных пришел в питон, то какое-то время будешь испытывать ломку привычных связей в мозгу. Потом возвращаться не захочешь.
не. У меня есть и на перле проекты и на пхп и на плюсах. Ансибл, реакт, немножко эльма, чтототам ешо реактоподоббное. Плюсы, да. И с qt и без. Даже форт гдето работает десятый год...

так что возвращаться в люой язык мне не привыкать

оно станет менее путанным если я начну просто параметры об dict передавать?

нет, не станет

тогда почему?

Владимир
22.01.2019
23:43:04
путанное? С чего оно путанное?
Если возникли проблемы с наследованием значит проблема с иерархией

Sheridan
22.01.2019
23:43:17
разные классы

разное делают

Владимир
22.01.2019
23:43:42
Так зачем ты их смешиваешь

Google
Donaudampf
22.01.2019
23:43:52
в случае с множественным наследованием - в питоне через mro решена проблема, которая в некоторых других языках решена запретом такого наследования в принципе. Так что не надо тут

Sheridan
22.01.2019
23:43:52
общий предок для плагинов и класс, реалузкющий веб-листен сокет

Так зачем ты их смешиваешь
потому что при склейке получается именно то что мне нужно.

Donaudampf
22.01.2019
23:45:09
какая именно проблема?
множественное наследование

Sheridan
22.01.2019
23:47:03
Так зачем ты их смешиваешь
смотри, общий для плагинов предок реализует набор опций, поставляет плагинам хранилище, при необходимости оборачивает плагины в поток. А листенер просто открывает сокет и ждет веб-хука. В итое получается плагин, который уже умеет много унаследованного от предка плагинов и ему в перелопределенную функцию прилетают вебхуки, перехваченные аторым классом

почему это - проблема?

Владимир
22.01.2019
23:47:38
какая именно проблема?
А в чем проблема? На скрине нормально вызываются инит методы. Через супер не получиться сделать, так как супер прогонит по МРО, а у тебя инит с разными аргументами.

Sheridan
22.01.2019
23:47:42


Владимир
22.01.2019
23:48:23
кресло у нее хорошее

Sheridan
22.01.2019
23:48:24
Donaudampf
22.01.2019
23:48:36
что с ним не так?
в том, что без линеаризации это либо неопределённый порядок вызова методов либо неподдерживаемый говнокод с ручным явным вызовом методов

Sheridan
22.01.2019
23:49:45
в том, что без линеаризации это либо неопределённый порядок вызова методов либо неподдерживаемый говнокод с ручным явным вызовом методов
я читаю это как "мой любимый язык не умеет того что он хочет, но я не могу об этом сказать прямо"

Владимир
22.01.2019
23:49:48
спрошу у тебя иеперь... Если я уберу везде суперы и оставлю прямые вызовыконструкторов родителей
Все просто. если ты вызовешь супер, то он начнет по МРО идти и вызовет тот, что по алгоритму попадется.

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

Donaudampf
22.01.2019
23:50:43
я читаю это как "мой любимый язык не умеет того что он хочет, но я не могу об этом сказать прямо"
язык умеет, но по определённым правилам, которые мы тут стараемся донести

Google
Sheridan
22.01.2019
23:50:57
окай, спасибо

пойду вызывать конструкторы руками

Donaudampf
22.01.2019
23:51:31
Sheridan
22.01.2019
23:52:01
я уже час пытаюсь добиться конкретного примера...
еше раз скопировыать ссылку на пастебин?

Владимир
22.01.2019
23:52:25
окай, спасибо
Да, давай ссылку. Пропустил что-то

Donaudampf
22.01.2019
23:52:40
еше раз скопировыать ссылку на пастебин?
чтобы я ещё раз сказал, что в том примере всё ок? Я прошу пример с "разными" аргументами

Владимир
22.01.2019
23:52:54
А разные аргумент легко организовать

достаточно определять иниты с поддержкой args, kwargs

Donaudampf
22.01.2019
23:53:16
А разные аргумент легко организовать
о том и речь, но это уже реально троллингом попахивает

Владимир
22.01.2019
23:53:20
и вызывай супер хоть до посинения)

Sheridan
22.01.2019
23:53:25
чтобы я ещё раз сказал, что в том примере всё ок? Я прошу пример с "разными" аргументами
я пока что не писал, ибо не мог понять сработает ли с ручным вызовом без суперов или нет

Владимир
22.01.2019
23:53:37
а если сигнатуры разные, то будь добр указать какой инит надо вызвать

Sheridan
22.01.2019
23:54:08
достаточно определять иниты с поддержкой args, kwargs
"неопределенное количество неопределенных параметров" всегда означает "мы не знаем что надо сделать, но сделать надо быстро"

Винни
22.01.2019
23:54:33
Можно ли, а самое главное, как, в Андроиде получить доступ к сообщениям и звонкам? Чтобы, допустим, ретранслировать их по сокету на другое устройство. Делать приложение буду на kivy, т.к. это пока что единственный нормальный вариант

Владимир
22.01.2019
23:54:35
оО

Donaudampf
22.01.2019
23:55:06
Владимир
22.01.2019
23:56:15
Так тут мро поломано

Google
Donaudampf
22.01.2019
23:56:17
"неопределенное количество неопределенных параметров" всегда означает "мы не знаем что надо сделать, но сделать надо быстро"
неопределённое количество аргументов означает "возьми что тебе нужно и сделай свою работу, а остальные передай ответсвенному за них дальше по цепочке"

Винни
22.01.2019
23:56:29
Donaudampf
22.01.2019
23:56:30
ну а я о чём

Владимир
22.01.2019
23:57:00
На сях что ли?
я думал там джава

Винни
22.01.2019
23:57:19
На сях что ли?
Ибо насколько я знаю, то в новых андроидах эту лавочку прикрыли

Винни
22.01.2019
23:57:39
я думал там джава
Ядро андроида - это переделанное ядро линукса, алло

Donaudampf
22.01.2019
23:58:11
Admin
ERROR: S client not available

Sheridan
22.01.2019
23:59:27
это уже что-то религиозное
нет, просто перекидывать туда-сюда мусор умеют и джуны. А если ты считаешь себя программистом, то надо уметь писать четко работающие алгоритмы с понятно откуда приходящими и куда узодящими данными

Владимир
22.01.2019
23:59:41
такое ВСЕГДА означает отсутствие ответственности
давай иначе посмотрим. Чем это плохой? Никто не заставляет тебя все аргументы обрабатывать. Вытаскиваешь только нужное и обрабатываешь

Винни
23.01.2019
00:00:56
ало, кэп
Здрасьте

Sheridan
23.01.2019
00:01:01
ну и как бы это - задача программиста, его работа. А не тяп-ляп-прод, как сейчас модно

Donaudampf
23.01.2019
00:01:55
нет, просто перекидывать туда-сюда мусор умеют и джуны. А если ты считаешь себя программистом, то надо уметь писать четко работающие алгоритмы с понятно откуда приходящими и куда узодящими данными
когда ты гоняешь данные по сети через роутер, роутер должен перекидывать данные дальше по адресу или лезть в трафик и различать котиков и собачек в видосиках, которые ты смотришь?

Владимир
23.01.2019
00:03:11
ну и как бы это - задача программиста, его работа. А не тяп-ляп-прод, как сейчас модно
ну вот в коде выше, на скрине твоем, что не так? Ты смешал два класса, тебе надо родительские проинициализировать. У них разные сигнатуры. Чисто логические как ты одним вызовом такое хочешь сделать? Через перегрузку? Это нечитаемо. Питон за ясность. Таким образом заставляет тебя либо осмыслить еще раз архитектуру, либо вызывать нужный метод базового класса явно.

Google
Владимир
23.01.2019
00:04:11
не понятно

Sheridan
23.01.2019
00:04:21








Donaudampf
23.01.2019
00:05:23
такая абстракция? Ну ок. Сквозь роутер оно течот каждый в своём пакете с выставленными бирками. Все взвешено и посчитано, чотко и красиво.
вот именно, роутеру важны только бирки, он не лезет внутрь. А ты пытаешься наделить сотрудника сортировочного центра полномочиями лезть в каждую посылку и решать, что с ней делать

Sheridan
23.01.2019
00:05:38




Donaudampf
23.01.2019
00:06:00
примерно так со стороны выглядят эти хотелки и паническая боязнь *args, **kwargs

Sheridan
23.01.2019
00:06:47
сейчас пишу этот плагин. С такой архитектурой мне нужно просто описать метод hook. Всё остально взлетит и зацйепится само



вот именно, роутеру важны только бирки, он не лезет внутрь. А ты пытаешься наделить сотрудника сортировочного центра полномочиями лезть в каждую посылку и решать, что с ней делать
роутер не лезет внутрь пакетов. Пакет для него - клиентские данные. А вот ты предлагаешь как раз таки лезть внутрь каждого пакета и проверять не тебе ли он (еслть ли нужные ключи в дикте?)

Владимир
23.01.2019
00:09:59
Так проблема то в чем? Инит руками приходится писать?

Sheridan
23.01.2019
00:10:51
Так проблема то в чем? Инит руками приходится писать?
меня тут убеждали что писать руками злейшее зло и вообще работать будет через раз

Владимир
23.01.2019
00:11:22
меня тут убеждали что писать руками злейшее зло и вообще работать будет через раз
только в том случае, если общий предок у двух базовых классов. А так это нормальная практика.

Sheridan
23.01.2019
00:12:07
только в том случае, если общий предок у двух базовых классов. А так это нормальная практика.
пока что такого нет. Но нерешенность данной проблемы - не очень сказывается на репутации питона...

Donaudampf
23.01.2019
00:12:14
Sheridan
23.01.2019
00:12:33
ромбовидное наследование - достаточнео часто применяется

наличие такого мусора я и терпеть не могу

Владимир
23.01.2019
00:13:34
пока что такого нет. Но нерешенность данной проблемы - не очень сказывается на репутации питона...
В питоне проблема такого наследования A / \ B C \ / D Как раз таки решена. Для этого существует MRO

Страница 7830 из 9768