Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 30, 2009 09:05:31

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Стиль именования

Я бы сделал так:

orm_sort_key, sort_string = parse_sort_argument(
request.GET.get('sort', default_sort_value))



Офлайн

#2 Июнь 30, 2009 09:59:29

piranha
От:
Зарегистрирован: 2007-10-05
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Стиль именования

lorien
Мне давно мучает вопрос. Возьмём такой код.
Сразу после ( переносишь аргументы на другую строку, и места становится сразу много.



Офлайн

#3 Июнь 30, 2009 12:16:04

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Стиль именования

Получается, только добавлять лишнюю строку и переменную, если по PEP8.



Офлайн

#4 Июнь 30, 2009 14:00:59

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Стиль именования

Может это и к лучшему
# Разрежённое лучше плотного.
# Удобочитаемость важна.

Офлайн

#5 Июнь 30, 2009 23:53:40

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Стиль именования

1) Я бы так написал

sort_value = request.GET.get('sort', default_sort_value)
orm_sort_key, sort_string = parse_sort_argument(sort_value)
2) Как вариант, если много аргументов надо передать функции:
orm_sort_key, sort_string = parse_sort_argument(
request.GET.get('sort', default_sort_value),
)
Сниппет из жизни: в коде встречается много подобных ветвлений:
if one:
if two:
if three:
if four:
success()
else:
print error4
else:
print error3
else:
print error2
else:
print error1
Вот придумал такой вот ход (может и не я первый придумал):
class Break(Exception): pass

try:
if not one:
raise Break(error1)
if not two:
raise Break(error2)
if not three:
raise Break(error3)
if not four:
raise Break(error4)
success()
except Break, e:
print e
except AnotherError, e:
print e
Как вы считаете, нормальное решение для длинных ветвлений? Мне оно кажется самым линейным, понятным и надёжным.
Я вообще стараюсь использовать вместо логики “if” логику “if not”, это хорошо экономит отступы.



Отредактировано (Июль 1, 2009 00:06:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version