Opened 3 years ago
Closed 3 years ago
#509 closed ожидается проверка (задача сдана)
WW cpp_io
Reported by: | Наталья Марцинковская | Owned by: | Святослав Власов |
---|---|---|---|
Component: | WW cpp_io | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (3)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
- Странно, что ты общий код для
write,write_binary
иread_binary
вынесла вEmployee
, но почему-тоEmployee::read
у тебя абстрактная и читаешь ты общие поля в операторе<<. Это не страшно, но выглядит не очень красиво. - Внутри оператора ввода/вывода не нужно падать по ассерту. В случае неудачи при чтении/записи оператор должен перевести поток в невалидное состояние, а падать на ассерте нужно в том месте, где этот оператор вызвался
В остальном всё неплохо, 10/10
Note: See
TracTickets for help on using
tickets.
Тесты прошли
По стилю:
const int32_t max_name = 101;
--- отлично, что решила вынести в константу, только лучше писать её не в заголовочном файле, а в исполняемом. Логика тут в том, что в из заголовочного файла эта константа попадет во все файлы, в которые тот будет заинклюжен. А она там совершенно не нужна.std::vector
иstd::string
в этой лабе не требовалось, но они бы здорово упростили тебе жизньis_valid
при неудаче просто выводит сообщение в консоль и программа продолжает работу, хотя состояние потоков невалидное и ошибка никак не устранена. Лучше вместо этого просто падать.'\n'
лучше использоватьstd::endl
read/write[_binary]
уDeveloper
иSalesManager
есть явная копи-паста -- чтение общих полей. Этот код можно вынести в функцию базового класса и вызывать её оттуда.getline
есть перегрузка с третьим аргументом -- символом окончания ввода, которая читает строчку из потока до этого символа.static Employee* Employee::CreateByType(int type)
позволило бы избежать копи-пасты в операторах>>
8/10