Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

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

HW #10

Reported by: movsin.marat Owned by: Святослав Власов
Component: WW cpp_io Version:
Keywords: Cc:

Description


Change History (2)

comment:1 Changed 3 years ago by Святослав Власов

Type: ожидается проверкаожидаются исправления
  1. Валгринд ругается на утечки
  2. Много косяков с форматом вывода (заглавные/строчные буквы перепутал, пробелы не там стоят), из-за чего тесты попадали, пришлось мне руками фиксить. Внимательно проверяй формат вывода и сравнивай с тем, что требуется в задании!
  3. Вместо пустых тел виртуальных функций в базовом классе лучше бы туда вынести чтение/запись общих полей, дабы избежать копипасты в наследниках
  4. Зачем читать сначала в буфер чаров, а затем копировать в стрингу? У тебя есть std::getline, который сразу читает в строку.
  5. При выводи в бинарный файл копировать символы в буфер по одному тоже не нужно. У строки есть метод c_str, который возвращает указатель на буфер с сишной строкой
  6. Оператор чтения из файла для EmployeeArray у тебя реализован более-менее правильно -- ты читаешь тип, по нему создаешь сотрудника и затем оператором >> читаешь в него данные, но в операторе чтения из обычного потока ты зачем-то читаешь поля сотрудников прямо внутри оператора. Не надо так делать. На секунду представь что у тебя появился новый тип сотрудников, новый наследник Employee. В какое количество функций тебе придется внести изменения, чтобы твой код заработал? Во многие. А в идеале код должен быть спроектирован так, чтобы вносить изменения в уже написанные функции было не нужно, или как минимум стараться это минимизировать.
  7. Создание нужного сотрудника по типу хочется вынести в отдельный фабричный метод дабы не копи-пастить
  8. EmployeesArray ea(10000); -- что за кошмар? Ты либо юзай вектор, чтобы не задумываться о расширении буфера под сотрудников, а если пишешь его сам, то делай это нормально, чтобы буфер на 10к элементов в памяти не висел мертвым грузом.

5/10 только

Last edited 3 years ago by Святослав Власов (previous) (diff)

comment:2 Changed 3 years ago by Святослав Власов

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.