TGViewer
Python Portal Python Portal @pythonportal · 50.3K subscribers
Post #4822 9.6K
Совет по чистому коду Python:

Не разделяйте части кода с помощью комментариев — лучше извлекайте функции/методы.

Почему?

1. Улучшает читаемость.
2. При рефакторинге имя метода меняется везде (комментарии быстро становятся устаревшими).

Плохой пример:

# Чтение всех тикетов
class CloseAllTickets:
def execute(self):
session = sessionLocal()

# список всех тикетов
tickets = session.query(Ticket).all()

# закрытие тикетов
for ticket in tickets:
ticket.status = "CLOSED"

# сохранение тикетов
session.add_all(tickets)
session.commit()


Хороший пример:


Читатель может сосредоточиться на логике высокого уровня и проверять детали низкого уровня только при необходимости

class CloseAllTickets:
def execute(self):
session = sessionLocal()
tickets = self._list_tickets(session)
self._close_tickets(tickets)
self._save_tickets(session, tickets)

def _list_tickets(self, session):
return session.query(Ticket).all()

def _close_tickets(self, tickets):
for ticket in tickets:
ticket.status = "CLOSED"

def _save_tickets(self, session, tickets):
session.add_all(tickets)
session.commit()


Здесь каждый шаг вынесен в отдельную функцию

👉 @PythonPortal
  • 👍 33
  • 💊 16
  • ❤ 11
  • 🤔 4
  • 🔥 2
  • 😢 1
  • 🌭 1
More from @pythonportal
  1. Oct 12, 2026«Матричное дифференциальное исчисление для машинного обучения и не только» — бесплатный ку…
  2. Oct 12, 2026Где искать работу, если хочется большего? Рынок труда сейчас не самый простой, поэтому ино…
  3. Oct 12, 2026Можно буквально ввести предложение и посмотреть, как Transformer обрабатывает его. Этот ин…
  4. Oct 11, 2026«Graph Theory with Applications» — бесплатный учебник, который даёт всестороннее введение…
  5. Oct 11, 2026Разбор собеседований по проектированию систем, разделённый на 28 глав. Рассматриваются мас…
  6. Oct 11, 2026Вышла долгожданная новая версия Python — 3.15 🐍 В неё вошли 5643 коммита от тысячи разраб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →