Size: a a a

2021 January 20

BB

Boris Bobejko in Rude Python
Stanislav Zmiev
Не понял, к чему ты это.
это первый интерфейс который обычно появляется в моих программах, для того чтобы замокать его нахуй и при написании юнит-тестов использовать. я писал его на go, java, kotlin. в том или ином виде он где-то уже может и существовать.

ну раз у вас там такая клевая типизация появилась, думаю с простейшей задачей реализовать компонент декодера не будет проблемой)
источник

BB

Boris Bobejko in Rude Python
не люблю думать о том, во что у меня все мое говно сериализуется. зачем. можно написать весь код, и через полгода станет ясно что там не json, а protobuf. а с таким интерфейсом збс)
источник

SZ

Stanislav Zmiev in Rude Python
Boris Bobejko
это первый интерфейс который обычно появляется в моих программах, для того чтобы замокать его нахуй и при написании юнит-тестов использовать. я писал его на go, java, kotlin. в том или ином виде он где-то уже может и существовать.

ну раз у вас там такая клевая типизация появилась, думаю с простейшей задачей реализовать компонент декодера не будет проблемой)
А. Т.е. Интерфейсы надо вместо классов?
источник

BB

Boris Bobejko in Rude Python
Вот на обычном питоне - сделать такое два пальца обоссать)
источник

BB

Boris Bobejko in Rude Python
class IDecoder:
     decode(shit): return {}
источник

BB

Boris Bobejko in Rude Python
Stanislav Zmiev
А. Т.е. Интерфейсы надо вместо классов?
конечно? у вас же теперь взрослый язык, со всеми возможностями
источник

SZ

Stanislav Zmiev in Rude Python
А. Тут я с тобой полностью согласен.
источник

BB

Boris Bobejko in Rude Python
и чтобы T прямо как шаблон в С++ был и распознавался тайпхинтами и чтобы если ты делаешь имплементацию с разными датаклассами подсказывал, что инстанс это часть интерфейса
источник

BB

Boris Bobejko in Rude Python
ну когда хотя бы до уровня го в синтаксе дорастете - приходите)
источник

m

megahomyak in Rude Python
megahomyak
оно в итоге возвращает кучку рулзов, которые хранят у себя данные значения, дабы потом можно было на основе одной кучки получить несколько разных строк, если я сделаю так, что кучка рулзов хранила бы функции, а не объекты рулзов - где тогда хранить значения для этих функций? Или вообще отказаться от этого всего и сделать функцию, которая принимает жсон и отдает строку? (Тогда каждый ее вызов придется парсить жсон или таскать значения из уже распарсенного)
короче, сделаю функцию, которая будет возвращать словарик, который можно заюзать в другой функции для создания строки - на этот раз обойдусь совсем без классов
источник

m

megahomyak in Rude Python
должно получиться совсем не по-джавовски
источник

BB

Boris Bobejko in Rude Python
вообще надо понимать, что отсутствие типизации (особенно в рантайме) это благо для того, чтобы делать многие интересные вещи и писать часть кода весело и быстро. а иногда это мешает. Всеобщее поклонение тайпхинтам как панацее, приводит к тому, что классический питон просто исчезнет)
источник

SZ

Stanislav Zmiev in Rude Python
megahomyak
короче, сделаю функцию, которая будет возвращать словарик, который можно заюзать в другой функции для создания строки - на этот раз обойдусь совсем без классов
Это тоже не очень хорошо, но уже не джава.
источник

m

megahomyak in Rude Python
а что хорошо тогда
источник

SZ

Stanislav Zmiev in Rude Python
То, про что говорит Боря.
источник

BB

Boris Bobejko in Rude Python
а вместе с ним пропадет его инструментальная мощь. то что позволяет делать программы не за полгода, а за неделю)
источник

SZ

Stanislav Zmiev in Rude Python
Хз. Ну почитай Solid (это я хомяку)
источник

SZ

Stanislav Zmiev in Rude Python
Он больше об ООП, но принципы там и здесь применимы.
источник

SZ

Stanislav Zmiev in Rude Python
И даже без джавы
источник

m

megahomyak in Rude Python
Stanislav Zmiev
То, про что говорит Боря.
так он же про тайпхинты говорит
источник