@spbpython

Страница 28 из 785
Serge
05.04.2016
15:12:33
length < 200 and length or 200

Pavel
05.04.2016
15:12:43
Не надо and ... or.

Serge
05.04.2016
15:13:01
length < 200 and length or 200
хотя тут логичнее в другую сторону, но так няшнее

Aleksandr
05.04.2016
15:13:06
такое только в луа, вроде, осталось?

Google
Serge
05.04.2016
15:13:08
Не надо and ... or.
это старый срач

Aleksandr
05.04.2016
15:13:32
В скольки контроах за это пристрелят интересно )

Serge
05.04.2016
15:13:33
length < 200 and length or 200
не, тут точно надо наоборот, а то вдруг 0

Aleksandr
05.04.2016
15:13:49
Или None )

Serge
05.04.2016
15:13:54
вообще and..or хороший, но только не с int-ами;)

Pavel
05.04.2016
15:14:13
Пофиг, насколько он старый, это трэш, который должен вымереть вместе с рождением if ... else.

Serge
05.04.2016
15:14:15
вообще, для таких кейсов придумали min

Aleksandr
05.04.2016
15:14:20
А min подскажет что ты ящер если length is None

Serge
05.04.2016
15:14:47
Пофиг, насколько он старый, это трэш, который должен вымереть вместе с рождением if ... else.
оно мертворожденное. if..else нечитаемое, малофункциональное говно

Roman
05.04.2016
15:15:21
Сраный requests

Pavel
05.04.2016
15:15:39
оно мертворожденное. if..else нечитаемое, малофункциональное говно
Ты меня постоянно удивляешь. Можно подумать and/or жесть какое читаемое.

Google
Aleksandr
05.04.2016
15:15:59
Серж просто тролище.

Он в степень двойки возводит побитовым сдвигом.

Serge
05.04.2016
15:16:39
Ты меня постоянно удивляешь. Можно подумать and/or жесть какое читаемое.
да, оно иногда дает сбои и это надо понимать, но оно лучше по многим причинам: условие до вариантов значений, возможность оставить только and или только or.

Pavel
05.04.2016
15:16:41
Как это? Тьюринг полные языки в отстой? )
Не, речь только об употреблении A or B and C в питоне вместо предназначенного для этого D if E else F.

Pavel
05.04.2016
15:17:41
and..or
И поэтому, оно тоже должно вымереть.

Serge
05.04.2016
15:18:10
а еще можно A and B или A or C

это понятно, очевидно и вполне поддерживаемо

Pavel
05.04.2016
15:18:59
Можно. Это работает и читается нормально.

видишь разницу?
Вижу. В первом какая-то старая как мамонт логическая хрень, которую изобрели в отсутствие альтернатив.

Serge
05.04.2016
15:20:52
я во треально не могу читать result = (super puper fucking expression * another expression) if my_var > 8 else (some not as much interested resulting expression)

Pavel
05.04.2016
15:21:10
Так не пиши, кто заставляет. )

Pavel
05.04.2016
15:21:38
и ей до сих пор нет альтернатив
Facepalm. Пожалуйста, никогда не работай со мной в одной команде. :)

Serge
05.04.2016
15:22:09
Facepalm. Пожалуйста, никогда не работай со мной в одной команде. :)
то что написаны слова if и else не означает, что оно удобнее

переписываем result = my_var > 8 and (super puper fucking expression * another expression) or (some not as much interested resulting expression)

Google
Serge
05.04.2016
15:23:46
как был говнокод так и остался:) в этом ты прав

синтетический пример, пахнущий честным if-ом

но почему не так, например result = 'foo' in bar and bar['foo'] or None

я знаю про get

просто оно понятно, там начинается всё с условия, я вижу bool в качестве результата и понимаю, что это условие. для этого if не нужен

я реально не могу жить с value1 if condition else value2

меня это просто бомбит

Aleksandr
05.04.2016
15:27:40
в сишечке тернарный начинается тоже с условия

Pavel
05.04.2016
15:27:43
Разбивай длинные выражения. Это тоже твоя работа.

Serge
05.04.2016
15:28:00
в сишечке тернарный начинается тоже с условия
да да, везде иха мать, оно с условия начинается

но за что мне условие после значения? за что???

кто это придумал?

I hate Python!!!

но лучшего у нас нет

Pavel
05.04.2016
15:28:48
Наверное, за то же, за что мне люди, нарушающие семантику конструкций. ;)

Aleksandr
05.04.2016
15:29:30
То что Серега написал еще ок. Вложенные тернарки в плюсах по-моему хуже. Лучше уж это )

Serge
05.04.2016
15:29:39
ну кто мешал сделать ?..: хотя бы...

Google
Serge
05.04.2016
15:29:50
ну да, не ключевые слова

Aleksandr
05.04.2016
15:29:54
Чтобы не абьюзили язык )

Serge
05.04.2016
15:29:56
но можно было бы что-то придумать

Pavel
05.04.2016
15:30:08
Какого вообще черта приходит в голову "мне не нравится вот эта идиома, поэтому я зафигачу свою на других операторах, потому что мне так удобнее".

Pavel
05.04.2016
15:31:16
По второму пункту – не работай со мной. Вероятность мала, но на всякий случай. )

Serge
05.04.2016
15:32:10
По второму пункту – не работай со мной. Вероятность мала, но на всякий случай. )
вот это, кстати, очень дерьмовый подход. в команде всегда есть кодестайл, его можно один раз обсудить и потом придерживаться и продолжать срачики в чатиках

Aleksandr
05.04.2016
15:32:50
@lig11 ну так если тебе тебе в code style скажут "ты олень" со своими or-ами )

Serge
05.04.2016
15:32:52
твой аргумент пока только один: "мне дали конструкцию, я буду ее использовать", так?

Pavel
05.04.2016
15:32:58
Оно-то да. Но кто ж гарантирует, что с такими людьми можно договориться.

Serge
05.04.2016
15:33:28
@lig11 ну так если тебе тебе в code style скажут "ты олень" со своими or-ами )
ну скажут, буду оленем. я вот на 120 символов писал и имена методов кэмелкейсом, не переломился

Aleksandr
05.04.2016
15:33:47
@lig11 я видел это зло в Mnj.

Serge
05.04.2016
15:33:56
Оно-то да. Но кто ж гарантирует, что с такими людьми можно договориться.
опять же дерьмовый подход. мне теперь не работать со всеми, кто на 120 символов строки пишет?

@lig11 я видел это зло в Mnj.
ну там команда обсудила и приняла пока такой кодестайл;)

твой аргумент пока только один: "мне дали конструкцию, я буду ее использовать", так?

Pavel
05.04.2016
15:34:38
Не, не работай со всеми, кто придерживается традиционного кодстайла )

Serge
05.04.2016
15:34:59
твой аргумент пока только один: "мне дали конструкцию, я буду ее использовать", так?
так вот, это стародавний срач в питоновской среде, вообще в мировой. и if..else пока не победил;)

Pavel
05.04.2016
15:35:35
Serge
05.04.2016
15:35:43
Не, не работай со всеми, кто придерживается традиционного кодстайла )
а что такое традиционный? 120 символов, 2 пробела? ну вот что? в pep8 есть про if..else?

Хорошая отмаза, что оно там старое, никто не победил и т.п.
ну а что? ну говеное же решение писать значение до условия. правда говеное, разве нет?

Google
Pavel
05.04.2016
15:36:53
В PEP есть про такие неведомые понятия как, например, "явное".

ну а что? ну говеное же решение писать значение до условия. правда говеное, разве нет?
Тоже не оправдание. Взял инструмент – используй так, чтобы остальным не хотелось тебя найти в темном переулке.

Serge
05.04.2016
15:37:56
В PEP есть про такие неведомые понятия как, например, "явное".
для меня любое стандартное поведение - явное. порядок вычисления значений логического выражения и результирующие значение огического выражения - это весьма стандартное и общеизвестное поведение

Serge
05.04.2016
15:38:46
я говорю: "плохое техническое решение". ты говоришь: "найду тебя в темном переулке, если не будешь его использовать"

Serge
05.04.2016
15:40:03
Твое определение очень удобно. По нему любая контрукция – явная. Круто, да?
да. любая конструкция явная, если у нее нет сайд эффектов. оператор принимает значения и возвращает значения. это явно.

Aleksandr
05.04.2016
15:40:11
Если только это конструкция не UB без сайд эффектов

Aleksandr
05.04.2016
15:40:22
Я думаю тут лучше говорить о читаемости )

Serge
05.04.2016
15:40:58
Я говорю "уважай других людей, а не одного себя любимого".
опять. вот нас тут спорит двое. представь на минутку, что в команде таких как я трое, а ты один. кто кого должен уважать?

здесь у нас теоретический спор. как лучше.

Pavel
05.04.2016
15:41:26
Представь на минуту, что земля стоит на четырех слонах.

Serge
05.04.2016
15:42:03
вот я вижу, что and..or больше похожи на тернарный оператор, чем if..else

Pavel
05.04.2016
15:42:04
У меня – чисто практический спор, как писать сопровождаемый код.

Serge
05.04.2016
15:42:35
У меня – чисто практический спор, как писать сопровождаемый код.
как мы видили говнокод можно любым из этих способов натворить

Pavel
05.04.2016
15:42:44
С теорией я наигрался много лет назад. Бесполезно.

Serge
05.04.2016
15:42:57
вот скажи, значение до условия - это удобно?

Pavel
05.04.2016
15:43:05
Нет

Serge
05.04.2016
15:43:13
я пошел работать

Страница 28 из 785