- Za dużo bardzo długich linii (mimo że uważam 80 linii z PEP8 za przesadę, to >100 już zaczyna tracić na czytelności)
- formatowanie kodu -> PEP8
- update_prof -> update_profitability
- self.__str__() -> str(self)
- zduplikowane `duration_time[self.__str__()]` -> do zmiennej
- prof_watchdog() -> wystarczy jedna linia z `return a >= b`
- Transaction.__init__(rzeczy) -> super().__init__(rzeczy)
- json.loads(file.read()) -> json.load(file)
- get_profitability -> unikaj takich getterów, wystarczy dostępne pole
- po co conclude() ma kod, jeśli zaraz potem i tak rzuci błędem że "nie jest zaimplementowane"?
A ogólnie co do tych wszystkich NotImplementedError("Bardzo Dlugi Tekst"). W Pythonie możesz mieć "normalne" klasy abstrakcyjne:
class Transaction(ABC):
def __init__(self, currency, stop_loss, volume):
self.currency = currency
self.stop_loss = stop_loss
self.volume = volume
self.profitability = None
@abstractmethod
def realise(self):
pass
@abstractmethod
def stop(self):
pass
@abstractmethod
def update_prof(self):
pass