программы с использованием ООП и типизации, хочу писать качественный код
мои вопросы по коду:
правильно ли я использовал типизацию в целом? укажите пожалуйста на ошибки
как можно сократить хинта типов в функции? чтобы не было огромной длинной строки, прошу пример
правильна ли логика использования ООП? что насчет SOLID? укажите на ошибки
код:
https://pastebin.com/S1Y7rjxN
А зачем article_id именно в теле класса а не инита?
id нужен только в рамках магазина
Слишком много пустых строк :)
Ну, то понятно. Но почему не в ините то? self.article_id = 0
это я тренил наследование, придумал что то такое, solid хочу придерживаться при множ. наследовании
я тупанул, согл
Множественное наследование стоит избегать
На синтетическом коде лучше не просить проверять, придумай себе проект, возьми github, делай, а затем сюда
Принцип открытости/закрытости
frm: str = None Неверная аннотация. Ты говоришь, что может быть только строка, а сам кладешь не строк. Ну и плохое имя
Там нет множественного наследования, зато есть товары, унаследованные от магазина...
мне нужно чтобы эти значения по дефолту были None
Optional[TYPE] или TYPE | None (современный версии)
И где он у тебя?
Optional[str] ну и по аналогии
как мне правильно сделать в рамках логики магазина и товаров?
товары, унаследованные от магазина... как сделать по другому
А что значит dims? Там передается какое-то кол-во флоатов? тогда можно Tuple[float, ...]
Магазин сам по себе, товары сами по себе, до тех пор, пока ты не торгуешь магазинами.
Товар это не магазин, следовательно и наследовать товар от магазина не нужно.
Скажи, а когда ты делаешь стул, ты сначала делаешь мебельную фабрику, а потом её дотачиваешь пока стул не получится?
Если флоатов всегда три, то твой хинт верный
А что такое memory у стола?
Что значит без (',')
нету вроде у стола мемори
Как нету? Напиши print(Round_Table.memory) полагаю ошибки не будет
в локальной обл. видимости не будет ведь
Если атрибут есть у предка, то он есть и у потомков.
всем сап, отрефакторил вчерашний код, посмотрите ещё раз, возможно я что-то не учёл, может что-то пропустили https://pastebin.com/cSPde7Xa
None, по ТЗ задачи так надо
ТЗ в студию
Round_Table переменные принято именовать в snake_case
https://stepik.org/lesson/701995/step/6 вот вся задача
просто так не открыть =(
Обсуждают сегодня