Opened 4 years ago

Closed 4 years ago

#583 closed ожидается проверка (задача сдана)

WW #10

Reported by: Brilliantov Kirill Owned by: Sokolov Viacheslav
Component: WW figures Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 4 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

src/Scheme.cpp:69: void Scheme::move(int, int, int): Assertion `fg == nullptr' failed.

удобно в codestyle разделять имена членов класса и локальных переменных с помощью разного именования (например, с помощью _)

это снизит вероятность ошибки и количество кода одновременно

В Circle::is_inside потенциальное переполнение

почитайте про strcpy

вместо malloc/free можно было бы использовать new/delete

желательно за счет декомпозиции добиться уменьшения объема кода remove_figure раза в два

comment:2 Changed 4 years ago by Brilliantov Kirill

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed

Стоило бы добавить assert(factor >= 0)

this-> с таким codestyle можно не писать - _ и так указывает на то, чем является сущность (член класса а не локальная переменная)

лучше было бы функцию get_by_id реализовывать в предположении, что элемент должен присутствовать (поставить assert в этой функции, а не во всех других)

 48 Figure *Scheme::is_inside_figure(int x, int y) const {
 49   bool ans = false;
 50   for (int i = 0; i < this->size_; i++) {
 51     ans = this->figures_[i]->is_inside(x, y);
 52     if (ans)
 53       return this->figures_[i];
 54   }
 55   return nullptr;
 56 }

можно упросить:

 48 Figure *Scheme::is_inside_figure(int x, int y) const {
 50   for (int i = 0; i < this->size_; ++i) {
 52     if (figures_[i]->is_inside(x, y))
 53       return figures_[i];
 54   }
 55   return nullptr;
 56 }
Note: See TracTickets for help on using tickets.