Opened 3 years ago

Closed 3 years ago

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

WW #10

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

Description

Не смог в бинарники:(
Но думаю, что к субботе успею разобраться и доделать

Change History (4)

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

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

Тесты все попадали, потому что накосячил с форматом вывода. Убедись, что твой вывод совпадает с тем, что требуется в задании. Символ-в-символ.

По стилю:

  1. Зачем тебе _sz и _cp, если ты хранишь данные в векторе? У него есть методы size и capacity.
  2. std::endl лучше использовать вместо '\n'
  3. Вот эта конструкция совершенно не нужна:
      if (_cp == _sz) {
        _cp *= 2;
        vector<Employee *> employees = _employees;
        _employees = employees;
      }
      _sz++;
    

Вектор сам управляет внутренним буфером, снаружи этого делать не нужно. Ты можешь в него просто добавлять элементы.

  1. Не очищаешь память в деструкторе ~EmployeeArray. Вектор автоматически освободит память под массив указателей на сотрудников, но память под самих сотрудников он не освободит.

Жду реализацию ввода-вывода в файл

comment:2 Changed 3 years ago by em.vladislv

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

Перепроверил кучу раз формат вывода, не знаю, что не так:(
Вроде выводит все как в условии

Остальное исправил

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

Type: ожидается проверкаожидаются исправления
  1. Тьма ошибок при компиляции, пришлось убрать -Werror из мейкфайла чтобы собралось -- это нехорошо. Произошло это потому, что ты в циклах используешь в качестве счетчика переменную int32_t зачем-то, а на моей платформе size_type -- это long, поэтому компилятор ругнулся ворнингом.
  2. У тебя буфер под имя всегда константный -- это не очень хорошо. Лучше было бы std::string заюзать
  3. vector<Employee *> _employees; -- зачем это телодвижение в конструкторе EmployeeArray? Ты просто объявил переменную в теле конструктора, которая ничего не делает.
  4. От копи-пасты, создающей нужного сотрудника по типу хотелось бы избавиться куда-нибудь в отдельный фабричный метод

В остальном нормально, 8.5/10

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

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