Opened 4 years ago
Closed 4 years ago
#524 closed ожидаются исправления (задача сдана)
HW #1
Reported by: | kurnosova.polina | Owned by: | Артур Гулецкий (huletski) |
---|---|---|---|
Component: | HW #1 (BMP) | Version: | 1.0 |
Keywords: | Cc: | Артур Гулецкий (huletski) |
Description
Change History (3)
comment:1 Changed 4 years ago by
Owner: | changed from Evgeny Linsky to Артур Гулецкий (huletski) |
---|---|
Status: | new → assigned |
comment:2 Changed 4 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:3 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Дедлайн пришел.
Note: See
TracTickets for help on using
tickets.
Корректность
Стиль
include/bmp.h
4: неясно зачем подключается string.h. Если из-за size_t, то лучше подключить stddef.h;
17,18: выглядят как внутренние функции модуля для обработки BMP файлов, их необязательно делать видимыми.
src/main.c
(opt) Дублирование логики освобождения памяти. Можно было бы написать ее в конце блока кода (обработка команды crop-rotate) и делать goto на эти инструкции в случае досрочного завершения работы функции из-за обнаруженных ошибок.
src/bmp.c
21: что значит 54?
31: вызывать free(NULL) - ок, т.ч. проверки избыточны;
71: отсутствует проверка успешности выполнения операции чтения;
73: определите структуры, описывающие заголовки BMP с отключенным выравниванием, читайте из файла данные непосредственно в эти структуры, обращайтесь к полям структур для доступа к полям заголовков, а не используйте разбор заголовков вручную из сырых данных по hardcoded смещениям (последнее делает код более сложным для модификации и понимания). Пример:
79: s/offset/padding_sz
91: fseek может завершиться с ошибкой, нужно проверять возвращаемое значение;
107: перед перенесенными частями stament’a обычно добавляют отступы;
80, 142: дублирование нетривиального кода, нужно вынести в функцию; использование тернарного оператора сделало бы код компактнее;
Баллы: корректность 16, стиль 5.