Change History (3)

comment:1 Changed 4 years ago by Артур Гулецкий (huletski)

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

Замечания с пометкой fyi исправлять не обязательно.

[Common]

По условию label “SalesManager” нужно печатать в терминал с пробелом в середине.

bin_manip.h

(fyi) 10: можно убрать friend и объявить оператор после структуры (поля-то публичные);
12: int32_t.

employees.h

93: rule of 3 violation (копирование вектора указателей нетривиально, учитывая освобождение элементов в ~EmployeesArray);
(fyi) 114: имя не очень хорошее, лучше, например, create_employee (из него очевидно, что создается объект, который нужно будет кому-то удалять).

main.cpp

20, 23, 25: сделайте через перегрузки op<<, op>> для EmployeeArray.

bin_manip.cpp

(fyi) 5: val не очень хорошее имя (val.val ниже в коде выглядит странно), writer или manip получше;
39: использование форматированного вывода (op<<) для записи строки as is (“бинарно”) выглядит странным. Записывайте через write.

employees.cpp

(fyi) 48:

if (!ifs.is_open()) {
  /* print error */
  return;
}
/* handle opened file */

Такая запись позволит уменьшить вложенность кода -> сделает более простым для понимания;
(fyi) 93-94: char bonus_mark = _has_bonus ? ‘+’ : ‘-‘; лаконичнее; от переменной можно избавиться, записывая результат тернарного оператора сразу в поток;
146: значения лучше вынести в статические константные поля соответствующих классов.

Баллы: 7.75, нужно немного доделать.

comment:2 Changed 4 years ago by gordeeva.tatyana

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

comment:3 Changed 4 years ago by Артур Гулецкий (huletski)

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

Замечания:

  • bin_manip.cpp:33. флаг лучше устанавливать, сохраняя измененное значение istream.rdstate(), чтобы случайно не сбросить другие флаги;
  • employees.h:99. сгенерированный по умолчанию operator= будет работать неверно, так как присваивание по умолчанию вектора скопирует указатели, а не объекты (rule of 3 violation). Нужно было запретить генерирование op=, например, объявив его приватным -> -0.5;
  • employees.h:124. хранить по условию нужно было указатели на неконстантные объекты; clone вы реализовали, так что без минусов.

Баллы: 9.5.

Note: See TracTickets for help on using tickets.