Opened 4 years ago

Closed 4 years ago

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

WW #10

Reported by: Vladislav Nosivskoy Owned by: Sokolov Viacheslav
Component: WW figures Version: 1.0
Keywords: Cc:

Description


Change History (1)

comment:1 Changed 4 years ago by Sokolov Viacheslav

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

Кроме memcpy есть еще strcpy

 26     return (long long)(x_0 - x) * (x_0 - x) + //How to format it better?
 27            (long long)(y_0 - y) * (y_0 - y) <=
 28            (long long)this->radius * this->radius;

на работе используем вот такое форматирование

return (long long)(x_0 - x) * (x_0 - x)
    +  (long long)(y_0 - y) * (y_0 - y)
    <= (long long)this->radius * this->radius;

к сожалению, лучше/хуже измеряется по разным параметрам, на мой взгляд исходный вариант вполне себе читаемый. В современном c++ можно было бы использовать лямбду, что решило бы проблему иначе:

const auto sq = [](long long x){return x * x;};

return sq(x_0 - x) + sq(y_0 - y) <= sq(radius);

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

поиск фигуры по id стоило бы вынести в отдельную функцию, он дублируется между реализациями (и ошибку с i/j было бы труднее совершить)

в push_back_figure не хватает важных проверок:
fg != nullptr
и sz < capacity

37 assert(this->figures_[i] != nullptr);

хорошо, что эта проверка есть в том или ином виде, но она присутствует только в одном месте (а в аналогичных местах использования отсутствует). При наличии проверки в push_back_figure ее можно было бы не ставить (но и поставить ее не было бы плохой идеей)

Note: See TracTickets for help on using tickets.