170 похожих чатов

Прошу сделать ревью моего небольшого кода, я написал абстрактный пример

программы с использованием ООП и типизации, хочу писать качественный код

мои вопросы по коду:

правильно ли я использовал типизацию в целом? укажите пожалуйста на ошибки
как можно сократить хинта типов в функции? чтобы не было огромной длинной строки, прошу пример
правильна ли логика использования ООП? что насчет SOLID? укажите на ошибки

код:

https://pastebin.com/S1Y7rjxN

41 ответов

27 просмотров

А зачем article_id именно в теле класса а не инита?

chcppa | DBSB- Автор вопроса

Слишком много пустых строк :)

chcppa | DBSB
id нужен только в рамках магазина

Ну, то понятно. Но почему не в ините то? self.article_id = 0

chcppa | DBSB- Автор вопроса

это я тренил наследование, придумал что то такое, solid хочу придерживаться при множ. наследовании

chcppa | DBSB- Автор вопроса

я тупанул, согл

Множественное наследование стоит избегать

chcppa | DBSB
я тупанул, согл

На синтетическом коде лучше не просить проверять, придумай себе проект, возьми github, делай, а затем сюда

chcppa | DBSB- Автор вопроса

frm: str = None Неверная аннотация. Ты говоришь, что может быть только строка, а сам кладешь не строк. Ну и плохое имя

chcppa | DBSB
это я тренил наследование, придумал что то такое, ...

Там нет множественного наследования, зато есть товары, унаследованные от магазина...

chcppa | DBSB- Автор вопроса
Tishka17
frm: str = None Неверная аннотация. Ты говоришь, ...

мне нужно чтобы эти значения по дефолту были None

chcppa | DBSB
мне нужно чтобы эти значения по дефолту были None

Optional[TYPE] или TYPE | None (современный версии)

chcppa | DBSB- Автор вопроса
chcppa | DBSB- Автор вопроса
𝓐𝓶𝓪𝓻𝓸 𝓥𝓲𝓽𝓪 🐝
Там нет множественного наследования, зато есть тов...

как мне правильно сделать в рамках логики магазина и товаров?

chcppa | DBSB- Автор вопроса
Tishka17
Делать что?

товары, унаследованные от магазина... как сделать по другому

chcppa | DBSB
балдеж

А что значит dims? Там передается какое-то кол-во флоатов? тогда можно Tuple[float, ...]

chcppa | DBSB
как мне правильно сделать в рамках логики магазина...

Магазин сам по себе, товары сами по себе, до тех пор, пока ты не торгуешь магазинами.

chcppa | DBSB
как мне правильно сделать в рамках логики магазина...

Товар это не магазин, следовательно и наследовать товар от магазина не нужно.

chcppa | DBSB
товары, унаследованные от магазина... как сделать...

Скажи, а когда ты делаешь стул, ты сначала делаешь мебельную фабрику, а потом её дотачиваешь пока стул не получится?

chcppa | DBSB
принял

Если флоатов всегда три, то твой хинт верный

А что такое memory у стола?

chcppa | DBSB
тоже принял

Что значит без (',')

chcppa | DBSB- Автор вопроса
Tishka17
А что такое memory у стола?

нету вроде у стола мемори

Как нету? Напиши print(Round_Table.memory) полагаю ошибки не будет

chcppa | DBSB- Автор вопроса
Tishka17
Как нету? Напиши print(Round_Table.memory) полагаю...

в локальной обл. видимости не будет ведь

chcppa | DBSB
в локальной обл. видимости не будет ведь

Если атрибут есть у предка, то он есть и у потомков.

chcppa | DBSB- Автор вопроса

всем сап, отрефакторил вчерашний код, посмотрите ещё раз, возможно я что-то не учёл, может что-то пропустили https://pastebin.com/cSPde7Xa

chcppa | DBSB- Автор вопроса

None, по ТЗ задачи так надо

chcppa | DBSB
всем сап, отрефакторил вчерашний код, посмотрите е...

Round_Table переменные принято именовать в snake_case

chcppa | DBSB- Автор вопроса

https://stepik.org/lesson/701995/step/6 вот вся задача

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта