- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
if value == '' or value == None or value == False or value == 0:
...
if count(data) <= 0:
...
# так же он еще умеет рефакторить это
if post_data is None:
...
# вот в это
if not post_data:
...
larikov 10.09.2012 00:07 # +3
Vindicar 10.09.2012 11:12 # +1
larikov 10.09.2012 13:28 # 0
TarasB 10.09.2012 11:30 # +6
LispGovno 10.09.2012 13:23 # +3
TarasB 10.09.2012 13:41 # +3
Lure Of Chaos 10.09.2012 13:46 # +5
TarasB 10.09.2012 13:50 # +6
Lure Of Chaos 10.09.2012 13:57 # +4
LispGovno 10.09.2012 15:27 # 0
LispGovno 10.09.2012 15:30 # −1
Сколько тебе лет? Судя по страничке вконтакте, ты моложе меня. Что явно не в мою пользу.
Lure Of Chaos 10.09.2012 18:00 # −1
LispGovno 10.09.2012 18:40 # −5
bormand 10.09.2012 18:49 # +2
3.14159265 10.09.2012 18:58 # +7
vistefan 11.09.2012 07:20 # +1
Fai 10.09.2012 00:15 # −7
и
if not post_data:
одинаковой говнистости конструкции.
Yurik 10.09.2012 00:34 # +4
В чем говно?
Yurik 10.09.2012 00:57 # +5
if post_data is None только если post_data это экземпляр объекта None.
Не стоит писать хуйню.
Fai 11.09.2012 01:34 # +3
Значит то оба НЕ говно.
Вот нахрена нужно "рефакторить" одну конструкцию в другую, если:
1. Они дают неэквивалентные результаты.
2. По написанию и эффективности не сильно отличаются.
Я понимаю
x = [1, 2, 3, 4, 5, 6, 7, 8, ..., 100]
отрефакторить в
x = [i for i in range(1,101)]
Но заменить "x is None" на "not x" это не рефакторинг, а хуйня какая-то.
Vindicar 11.09.2012 09:27 # 0
>x = [i for i in range(1,101)]
Что рефакторится в x = range(1,101) потому что range() возвращает список в отличие от xrange().
[/зануда]
>Но заменить "x is None" на "not x" это не рефакторинг, а хуйня какая-то.
Если x может принимать эквивалентно ложные значения помимо None. Если не может, то разницы не будет.
Vindicar 11.09.2012 09:32 # 0
larikov 11.09.2012 13:20 # +2
> Но заменить "x is None" на "not x" это не рефакторинг, а хуйня какая-то.
Yurik 11.09.2012 19:04 # +2
В этом и суть поста, иначе ОП бы об этом и не упомянул.
bormand 11.09.2012 19:08 # +3
Рефакторилка чесалась.
Steve_Brown 10.09.2012 15:34 # +1
Тут, вполне возможно, источник говна выше по течению (т.е., код, который присваивает такие разные значения), а это - уже калоуловитель.
> if count(data) <= 0:
Устойчивый код, на случай если вдруг count отрицателен. (это не совсем сарказм, скорее объяснил бы привычкой, оставшейся от C)
guest 12.10.2012 21:23 # +1
if not value:
guest 18.09.2012 17:55 # 0
оптимизируем