Как мне организовать методы в классе в Python? - PullRequest
5 голосов
/ 18 марта 2011

Как (или это чистый способ) организации методов в Python?

Я всегда ставлю сначала метод __init__, а затем любые другие __foo__ (Как вы их называете?) Методы,Но тогда это приводит в беспорядок.

Ответы [ 4 ]

3 голосов
/ 18 марта 2011

Я предпочитаю сначала разместить метод __init__, а затем назначить другие методы в алфавитном порядке.

3 голосов
/ 18 марта 2011

Мне нравится организовывать их следующим образом:

Первый: конструктор (__init__)

Второй: любые другие ___ методы

Третий: обычные методы, которые примерно могутбыть разделенным на категории "get"

Четвертый: обычные методы, которые можно грубо разделить на категории "set"

Пятый: Все остальное (с любыми методами, которые производят что-либо кроме возвращаемого значения - т.е.на самом деле что-то выводить или сохранять в базе данных - находясь в самом конце этой пятой категории)

Если вы будете следовать этому шаблону последовательно, ваш глаз привыкнет к нему и станет легко ориентироваться.Конечно, такие предпочтения варьируются от человека к человеку.

1 голос
/ 18 марта 2011

Я использую две стратегии:

  • редактор, который может сворачивать код, чтобы вам не приходилось видеть его все.
  • Я разбил большие классы на более мелкиегде каждый делает только одну вещь, а затем создает мое приложение из этих маленьких блоков.
0 голосов
/ 18 марта 2011

Я не уверен, существует ли официальный стандарт, но я всегда сначала ставлю метод __init__, затем мои собственные методы, а затем любые встроенные модули, которые я планирую реализовать (__str__, __eq__ , так далее). Я пытаюсь сгруппировать методы по сходной функциональности и упорядочить встроенные модули во всех классах.

...