Задача с контеста, комментарии ревьюера
Источник: Stack Overflow на русском
Для начала разберёмся с терминологией. Упрощённо:
У вас всего один класс — Dek
. И ревьюер хочет, чтобы вы в него добавили функцию is_full
:
class Dek:
def is_full(self):
self._size >= len(self._data)
Далее ревьюер просит вас добавить переменную max_size
. Он считает, что лучше не вызывать функцию len
каждый раз при проверке условия (максимальный размер уже не изменится):
class Dek:
def __init__(self, max_size):
self._max_size = max_size
def is_full(self):
self._size >= self._max_size
И, конечно, вы должны использовать только что созданный метод:
class Dek:
def __init__(self, max_size):
self._max_size = max_size
def is_full(self):
self._size >= self._max_size
def _push(self, i, di, value):
if self.is_full():
raise OverflowError