Стандарты кодирования Python / лучшие практики [закрыто]
в python вы обычно используете PEP 8 -- руководство по стилю для кода Python как ваши стандарты кодирования/рекомендации? Есть ли другие формализованные стандарты, которые вы предпочитаете?
8 ответов:
" в python вы обычно используете PEP 8 -- Style Guide для кода Python в качестве стандартов/рекомендаций по кодированию? Есть ли другие формализованные стандарты, которые вы предпочитаете?"
Как уже упоминалось, вы следуете PEP 8 для основного текста, и PEP 257 для соглашений docstring
вместе с руководствами по стилю Python я предлагаю вам ссылаться на следующее:
Я Python идиомы и эффективность руководство, Роб Найт. Я думаю, что они точно такие же, как PEP 8, но более синтетические и основаны на примерах.
Если вы используете wxPython, вы также можете проверить руководство по стилю для кода wxPython, Крис Баркер, а также.
Я придерживаюсь PEP-8 очень близко.
есть три конкретные вещи, которые я не могу потрудиться изменить на PEP-8.
избегайте посторонних пробелов непосредственно в скобках, скобках или фигурных скобках.
предлагается:
spam(ham[1], {eggs: 2})Я делаю это в любом случае:
spam( ham[ 1 ], { eggs: 2 } )Почему? 30+ лет укоренившейся привычки-это прижимание () к именам функций или (в C) ключевым словам операторов. Начиная с Fortran IV в 70-х годов.
используйте пробелы вокруг арифметических операторов:
предлагается:
x = x * 2 - 1Я делаю это в любом случае:
x= x * 2 - 1Почему? Наука о программировании Гриса предложила это как способ подчеркнуть связь между назначением и переменной, состояние которой изменяется.
Он не работает хорошо для нескольких назначений или расширенного назначения, для этого я использую много пробелов.
для имена функций, имена методов и имена переменных экземпляра
предложенный: строчный регистр, со словами, разделенными подчеркиваниями по мере необходимости, чтобы улучшить читаемость.
Я все равно это делаю: camelCase
Почему? 20+ лет укоренившейся привычки camelCase, начиная с Паскаля в 80-х.
добавить бхадра этосписок идиоматических направляющие:
проверка презентации Энтони Бакстера на Эффективное Программирование На Python (от OSON 2005).
выдержка:
# dict's setdefault method turns this: if key in dictobj: dictobj[key].append(val) else: dictobj[key] = [val] # into this: dictobj.setdefault(key,[]).append(val)
ОПТОСОЗ 8 хорошая, единственное что мне жаль, что он пришел вниз сложнее на вкладках-против-пространства святой войны.
в основном, если вы начинаете проект в python, вам нужно выбрать вкладки или пробелы, а затем стрелять всех нарушителей на месте.
Да, я стараюсь следить за ним как можно внимательнее.
Я не следую никаким другим стандартам кодирования.
Comments