Opened 3 years ago
Closed 3 years ago
#248 closed ожидается проверка (задача сдана)
hw_01
Reported by: | Terova Valeriia | Owned by: | Святослав Власов |
---|---|---|---|
Component: | HW #1 (BMP) | Version: | 3.0 |
Keywords: | Cc: |
Description
Вроде бы даже память не течет🤞🏼
(но это не точно, и я не уверена, что оно не падает все-таки на квадратных изображениях, хотя вроде бы работает 🤔)
Change History (5)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
fixed
comment:3 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Корректность -- 20/20
Стиль -- 9/10
- Те функции, которые ты не используешь нигде кроме
bmp.c
не нужно выносить в заголовочный файл, их нужно сделать статическими.
comment:4 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 2.0 → 3.0 |
Вот так?
Note: See
TracTickets for help on using
tickets.
Корректность 10/20
Стиль -- 5/10
int
в объявлении структуры, которую ты читаешь с диска -- это ошибка. Размерint
зависит от компилятора, платформы и иногда положения сатурна в водолее. Для стандартного gcc под linux-x86 он действительно будет 4 байта, как ты ожидаешь, но в общем случае это может оказаться не так. Можно скомпилировать под x64 и он будет 8 байт, тогда весь твой код будет работать неверно. Для того, чтобы не зависить от компилятора, используй типы данных с точной длиной --uint32_t
и т.п..bmp.h
такая портянка из инклюдов. Убери лишние и оставь только те, которые тебе нужны именно в этом заголовочном файле, остальные подключай там, где они используются.#pragma once
и инклюд-гарды -- взаимоисключающие вещи, используй что-то одноassert
'амиget_pixel(bmp, x, y)/set_pixel(bmp, x, y, value)
, в них очень просто посадить баг, поэтому лучше такого избегать:crop
иrotate
не делать "на месте", а создавать новое изображение. Это упростит тебе жизнь в разы.