Opened 3 years ago

Closed 3 years ago

#699 closed ожидается проверка (задача сдана)

HW #3 Huffman

Reported by: Наталья Марцинковская Owned by: Святослав Власов
Component: HW #3 (Huffman) Version: 2.0
Keywords: Cc:

Description

пока без тестов, но dior нормально сжимается
p.s. Никите привет!

Change History (4)

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

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

Тесты на корректность прошли, кроме тех, что используют длинные имена ключиков и меняют аргументы местами. Твоя программа должна обрабатывать такие случаи.

По стилю.

  1. Уже пора уходить от ручного управления памятью. Используй std::unique_ptr и забудь про delete
  2. Зачем тебе мапы тут?
        std::map<char, int> _freqs;
        std::map<char, std::string> _codes;
    

хватит обычного массива, диапазоны-то константные, от 0 до 255

  1. Не обязательно писать свой компаратор для priority_queue, достаточно переопределить оператор меньше у ноды
  2. У тебя build_code принимает строку по значению, поэтому манипуляции, когда ты сначала добавляешь символ, делаешь рекурсивный вызов и удаляешь его, бесполезны -- строка внутрь всё равно скопируется
  3. Да и в целом, кажется что битовую последовательность хранить в виде строки -- так себе решение

В остальном всё классно.
Корректность 13/15, стиль 6/7, тесты 0/5

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

UPD: стиль 8/10

comment:3 Changed 3 years ago by Наталья Марцинковская

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

появились тесты!

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

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

Тестов мало и они не юнит. Юнит-тесты должны тестировать каждый нетривиальный метод по отдельности

15/2/8

Note: See TracTickets for help on using tickets.