Не разделяйте части кода с помощью комментариев — лучше извлекайте функции/методы.
Почему?
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
