Opened 4 years ago
Closed 4 years ago
#681 closed ожидается проверка (задача сдана)
WW #11
Reported by: | gordeeva.tatyana | Owned by: | Артур Гулецкий (huletski) |
---|---|---|---|
Component: | WW cpp_io | 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 |
Замечания:
- 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.
Замечания с пометкой 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:
Такая запись позволит уменьшить вложенность кода -> сделает более простым для понимания;
(fyi) 93-94:
char bonus_mark = _has_bonus ? ‘+’ : ‘-‘;
лаконичнее; от переменной можно избавиться, записывая результат тернарного оператора сразу в поток;146: значения лучше вынести в статические константные поля соответствующих классов.
Баллы: 7.75, нужно немного доделать.