Opened 4 years ago

Closed 4 years ago

#1011 closed ожидаются исправления (задача сдана)

WW #15

Reported by: abramov.nikita Owned by: Egor Suvorov
Component: WW_linq Version: 1.0
Keywords: Cc:

Description


Change History (2)

comment:1 Changed 4 years ago by abramov.nikita

Решение обновлено

comment:2 Changed 4 years ago by Egor Suvorov

Resolution: задача сдана
Status: assignedclosed
Type: ожидается проверкаожидаются исправления

Корректность 7/7.

Стиль 1/3:

  • Не хватает слов final, explicit (конструктор и оператор), noexcept, rvalue-ref-qualifier у методов.
  • Не хватает виртуального деструктора в полиморфном классе enumerator. Конкретно в этой задаче это ни на что не влияет, но привычка полезная.
  • У enumerator стоит запретить копирование и перемещение — это точно ошибки. Перемещение можно запрещать, начиная с C++17 из-за copy elision.
  • Во всех методах drop/take и остальных не нужно явно писать возвращаемый тип, он прекрасно выведется сам.
  • *it++ = (**this) — скобочки не нужны. Аналогично в ++*this. Там однозначно парсится.
  • Нехорошо, что select_enumerator несколько раз вызывает функтор.
  • find_current_/update() — неконсистентное наименование, а ещё оба явно должны быть приватными функциями. Плюс, кажется, можно переписать это дело через do-while или как-то ещё, чтобы не требовалась отдельная функция update.
Note: See TracTickets for help on using tickets.