Opened 4 years ago
Closed 4 years ago
#933 closed ожидается проверка (задача сдана)
HW #3
Reported by: | gabitov.daniil | Owned by: | Vasily Alferov |
---|---|---|---|
Component: | HW #3 (Huffman) | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (8)
comment:1 Changed 4 years ago by
Owner: | changed from Vasily Alferov to Vasily Alferov |
---|
comment:2 Changed 4 years ago by
comment:3 Changed 4 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:4 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:5 Changed 4 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Круто, практически божественно.
Корректность: 6/9
Тесты: 8/8
Архитектура: 5/5
Стиль: 7/8
- Корректность
- Не работают длинные опции (
--file
,--output
). - Выводимый размер сжатого файла почти всегда на 3 меньше его реального размера.
- Не работают длинные опции (
- Тесты
- Тело
compare_string_streams
вроде можно заменить наCHECK(a.str() == b.str());
.
- Тело
- Архитектура ОК
- Стиль
- Темплейтные методы надо реализовывать прямо в хедере. Или запихивать их как неметоды в анонимные неймспейсы. Тут скорее второе, потому что они тебе как методы не нужны. Как публичные точно. Причина: ты их просто не сможешь использовать из других файлов, точно также, как и темплейтные классы.
comment:7 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
Note: See
TracTickets for help on using
tickets.
=(
Корректность: 0
Тесты: 0 (отсутствуют)
Архитектура: 4
Стиль: 7
Общее замечание. Не компилится.
А всё потому что не надо писать
return std::move(x);
. Ты таким образом заставляешь компилятор вызывать move constructor, в то время как copy elision позволяет не делать даже этого. Подробнее.Ещё: убери, плиз, файлы .vscode/?
Замечания.
Корректность.
У меня не получилось получить не сегфолт даже на каких-то рандомных ручных тестах.
Кажется, что не работает совсем.
Архитектура.
В целом ОК.
Стиль.
HuffmanTree
, а может быть, ещё где-то, ссылки должны быть константными.code.push_back((byte >> position++ & 1) + '0') ;
. Расставь скобки, пожалуйста, тут тебе не алгоритмы.