Уведомления

Группа в Telegram: @pythonsu

#1 Май 19, 2011 14:36:52

smirnoffs
От:
Зарегистрирован: 2011-05-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

Как считаете, нормально ли, что у меня встречаются в коде такие строки? Имеет ли смысл разбить строку на несколько строк?

output.write('MMS upload time (sec)\t'+'\t'.join(str(avg_upload_time) for ms_key in sorted(avg_upload_time.keys()))+'\n')



Офлайн

#2 Май 19, 2011 14:57:44

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Хороший тон

Думаю стоит



Офлайн

#3 Май 19, 2011 15:12:06

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

я бы так написал:

s = '\t'.join(str(avg_upload_time[key]) for key in sorted(avg_upload_time))
output.write('MMS upload time (sec)\t' + s + '\n')
или так:
s = '\t'.join(str(avg_upload_time[key]) for key in avg_upload_time)
output.write('MMS upload time (sec)\t' + s + '\n')
2.7 кажись уже отсортированными ключи отдает.



Офлайн

#4 Май 19, 2011 15:14:59

smirnoffs
От:
Зарегистрирован: 2011-05-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

pill
for key in avg_upload_time
Разве можно без .keys() получить список ключей из avg_upload_time?



Отредактировано (Май 19, 2011 15:15:25)

Офлайн

#5 Май 19, 2011 15:16:53

smirnoffs
От:
Зарегистрирован: 2011-05-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

Проверил, вижу что можно. Удивлен честно говоря.



Офлайн

#6 Май 19, 2011 15:49:42

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Хороший тон

>>> sorted_values = map(avg_upload_time.get, sorted(avg_upload_time))
>>> output.write('\t'.join( + sorted_values))
>>> output.write('\n')

..bw



Офлайн

#7 Май 19, 2011 15:55:22

smirnoffs
От:
Зарегистрирован: 2011-05-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

bw
Тоже красиво. Спасибо. Привет Сибири!



Офлайн

#8 Май 19, 2011 16:00:41

Игнат
От:
Зарегистрирован: 2010-10-02
Сообщения: 224
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

раньше мне тоже очень нравилось выравнивать весь код в одну строчку
правда то был пхп, а питон дает ещё большие возможности в этом плане

но, потом, где-то прочитал что именно это и зовется говнокодом :)
поэтому, с опытом, я стал придавать большее значение понятности кода, чем его кратости



Отредактировано (Май 19, 2011 16:01:35)

Офлайн

#9 Май 19, 2011 16:04:53

smirnoffs
От:
Зарегистрирован: 2011-05-19
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Хороший тон

Игнат
Дело в том что мне код кажется совершенно понятным и я достаточно часто встречаю подобные строки в чужом коде и они не пугают. Но вот, обнаружил, что мои сотрудники впадают в ступор при виде таких строк. Вариант pill'а мне кажется самым разумным. Просто вынести сложную часть в отдельную строку.



Офлайн

#10 Май 19, 2011 16:10:43

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Хороший тон

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. Стив Макконнелл :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version