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
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Стоило бы добавить 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.
src/Scheme.cpp:69: void Scheme::move(int, int, int): Assertion `fg == nullptr' failed.
это снизит вероятность ошибки и количество кода одновременно
В Circle::is_inside потенциальное переполнение
почитайте про strcpy
вместо malloc/free можно было бы использовать new/delete
желательно за счет декомпозиции добиться уменьшения объема кода remove_figure раза в два