Мне очень нравятся следующие стандарты стиля, как те, которые указаны в PEP 8. У меня есть linter, который проверяет его автоматически, и, безусловно, мой код намного лучше из-за этого.
В PEP 8 есть только одно очко, E251 и E221 не очень хороши. Исходя из фона JavaScript, я использовал выравнивание назначений переменных следующим образом:
var var1 = 1234;
var2 = 54;
longer_name = 'hi';
var lol = {
'that' : 65,
'those' : 87,
'other_thing' : true
};
И по моему скромному мнению, это значительно улучшает читаемость. Проблема в том, что это не рекомендуется PEP 8. Со словарями это не так уж плохо, потому что после двоеточия разрешены пробелы:
dictionary = {
'something': 98,
'some_other_thing': False
}
Я могу "жить" с переменными присваиваниями без выравнивания, но то, что мне совсем не нравится, не может передавать именованные аргументы в вызове функции, например:
some_func(length= 40,
weight= 900,
lol= 'troll',
useless_var= True,
intelligence=None)
Итак, что я делаю, это использовать словарь, как показано ниже:
specs = {
'length': 40,
'weight': 900,
'lol': 'troll',
'useless_var': True,
'intelligence': None
}
some_func(**specs)
или просто просто
some_func(**{'length': 40,
'weight': 900,
'lol': 'troll',
'useless_var': True,
'intelligence': None})
Но у меня такое чувство, что эта работа просто хуже, чем игнорирование PEP 8 E251/E221.
Какова наилучшая практика?
EDIT много лет спустя
Не выравнивать. Рано или поздно будет появляться новая переменная, которая будет длиннее, и вам понадобится время от времени нажимать пробел, пока все не будет выглядеть снова. Не стоит.