Форум сайта python.su
Вот занятная ситуация.
Кто делал приложения с wxPython знает, что там не все соответствует PEP8 (как, наверное, и в большинстве биндингов).
Пример. Есть два варианта кода.
Вариант 1:
def create_taskbar_icon(self):
self.tb_panel = wx.TaskBarIcon()
self.tb_icon = wx.Icon('icon.ico', wx.BITMAP_TYPE_ICO)
self.tb_panel.SetIcon(self.tb_icon, u'Кликните здесь!')
self.tb_panel.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.OnTaskBarClick)
def CreateTaskbarIcon(self):
self.TbPanel = wx.TaskBarIcon()
self.TbIcon = wx.Icon('icon.ico', wx.BITMAP_TYPE_ICO)
self.TbPanel.SetIcon(self.TbIcon, u'Кликните здесь!')
self.TbPanel.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.OnTaskBarClick)
Офлайн
Пишу как привык. Если у либы другой стиль кодирования - ее проблемы. Что, при использовании Qt все классы с Q начинать?
Офлайн
Андрей СветловНу, в этом случае, конечно нет. Я больше печусь о читабельности кода, поэтому спрашиваю.
Что, при использовании Qt все классы с Q начинать?
Офлайн
Когда происходит смешение стилей, это даже хорошо. Во-первых, всегда ясно происхождение той или иной функции. Во-вторых, не происходит “закостенение” мозга. В-третьих, начинаешь думать о проблеме по существу, а не о том, где поставить скобку - на этой строке или на следующей.
Офлайн
делаю первым вариантом
Офлайн
PEP8 меня не сильно беспокоит. Так как соответствие вкусам (а также настройкам текстового редактора и расположению клавиш на ноуте) Гвидо для себя не считаю необходимостью. Ибо…
> Я больше печусь о читабельности кода
p.s. В данном примере я предпочёл бы видеть код как в первом варианте.
def create_taskbar_icon(self):
self.tb_icon = wx.Icon('icon.ico', wx.BITMAP_TYPE_ICO)
self.tb_panel = wx.TaskBarIcon()
self.tb_panel.SetIcon(self.tb_icon, u'Кликните здесь!')
self.tb_panel.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.on_taskbar_click)
Офлайн
bwЕсли принять это во внимание, то мы из питона можем получить php.
PEP8 меня не сильно беспокоит. Так как соответствие вкусам (а также настройкам текстового редактора и расположению клавиш на ноуте) Гвидо для себя не считаю необходимостью. Ибо…
Офлайн
regallЭто уже проблема не того, кто пишет код, а того, кто его читает :)
IMHO: Мне очень приятно читать код, который написан по правилам pep8, и очень бесит когда код не соответствует
Офлайн
IsemНе согласен. Автор кода должен сделать так, чтобы его потем смогли прочесть. В том числе сам автор через длительное время, если понадобится.
Это уже проблема не того, кто пишет код, а того, кто его читает
Офлайн
> Автор кода должен сделать так, чтобы его потем смогли прочесть
Именно так я и поступаю, а не слепо следую рекомендациям PEP8. Например, там где я считаю, что между классами должно быть три пустые строки, а не две, я буду делать три, если я считаю, что для читаемости между именем класса и описанием первого его атрибута следует отступить на одну строку, я так и сделаю (но док. напишу слитно), если мне покажется, что несколько выражений следующих друг за другом нужно выравнять пробелами, скажем, по знаку равенства (как я поступил в примере выше), а другие выражения разделить пустой строкой, я так и сделаю вне зависимости от того что пишут в PEP8 или ещё где бы то ни было.
Я очень много чужого кода читаю (любой, собственно, пакет, с которым работаю я изучаю, пусть не полностью) и считаю свою оценку читаемости кода адекватной.
p.s. Оставляю за собой право, через много-много лет изменить своим привычкам :-).
..bw
Отредактировано (Окт. 19, 2010 18:54:33)
Офлайн