Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 17, 2018 14:23:21

SomethingButNotNickName
Зарегистрирован: 2017-12-19
Сообщения: 75
Репутация: +  0  -
Профиль   Отправить e-mail  

Правила хорошего кода

 path = '...'
with open(path, encoding='UTF-8') as f:
    for line in f:
        line = line.split(' ')      # <----- вот так
# какие то еще команды

Переменная line содержит в себе строку из файла, сначала в виде строки, потом в виде списка элементов этой строки. Т.е. данные по сути одни и те же, но в разном представлении. Можно ли так переопределять тип не меняя имени переменной с точки зрения “хорошего тона”? Почитав PEP8 явного запрета не нашел, но вопрос остался. В 5-ти строках не запутаешься, но если их больше? Ну или кто-то другой начнет читать код, а там такие перестановки? Кароче, товарищи опытные, дайте совет новичку стоит ли так делать или каждый раз выдумывать новое имя?

Офлайн

#2 Янв. 17, 2018 14:37:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Правила хорошего кода

Не надо так делать. В идеале, ты имя создал и оно до конца является только собой. Когда ты посмотришь в центр файла, в центр функции, в центр блока операторов, ты всегда будешь видеть переменную и всегда будешь знать, что в ней, потому что ты точно знаешь, что ты такой хренотенью с переопределениями не страдаешь.

А кто вот так делает, типа так удобно на первый взгляд, тот потом делает сначала одно переопределение, а потом делает по два, по три переопределения. А потом он по десять раз свой собственный код перечитывает, потому что не может его запомнить из-за этой фигни. А когда он ещё его поменяет после этого, ну ты понял, он будет заново его весь заучивать, там же всё поменяется и все эти связи невидимые поменяются. Ну строчку он удалил из центра кода, например, - и все последующие строчки сломались, но этого даже не видно, потому что по синтаксису всё правильно осталось.

В Erlang'е вообще эта фигня встроена. Создал переменную - поменять не можешь ни имя, ни привязку, сразу фиксируется.



Отредактировано py.user.next (Янв. 17, 2018 14:41:32)

Офлайн

#3 Янв. 17, 2018 14:41:31

SomethingButNotNickName
Зарегистрирован: 2017-12-19
Сообщения: 75
Репутация: +  0  -
Профиль   Отправить e-mail  

Правила хорошего кода

Понял, спасибо

Отредактировано SomethingButNotNickName (Янв. 17, 2018 14:42:46)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version