Change History (3)

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

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

По корректности всё круто, два замечания:

  1. Выводишь размеры в виде float, из-за чего для больших файлов получается что-то такое 1.87517e+06
  2. Если аргументы переставить местами, то ниче не работает

Стиль

  1. Если заюзать std::unique_ptr, то можно без лишних деструкторов обойтись
  2. У тебя в main вынесены детали реализации алгоритма (заполнить таблицу, построить дерево, закодировать, записать в файл). Это нарушение инкапсуляции.
  3. Зачем ловить ошибку только для того, чтобы пробросить её дальше? Она и сама прекрасно дальше улетит.

Тестов не нашел :(

12/8/0

comment:2 Changed 3 years ago by Станислав Михайлов

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

Поправил недочеты, добавил тесты.

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

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

С корректностью всё хорошо.

По тестам:
Вот так лучше не писать: CHECK(tree.getRoot()->getRightChild()->getFreq() == 6);. Если дерево будет иметь не такой вид как ты ожидаешь, то тесты упадут по сегфолту и будет сложно понять в каком месте это случилось. Лучше перед этим поставить REQUIRE и проверить что getRightChild не вернул nullptr.

По стилю:
Хочется чтобы вы уже отошли от ручного управления памятью и юзали умные указатели.

15/5/9

Note: See TracTickets for help on using tickets.