Шкуренко Никита R3237 (Image Rotation)
All threads resolved
added 1 commit
- be65e9c7 - static to not static and freeing image fully
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
@sayon ревью сделано
resolved all threads
resolved all threads
added 11 commits
- 9accba11 - fixed includes and defines
- 0eed670a - verification amount of argc, func free_image moved to image.c from bmp.c
- bc5bca17 - added not-null verifications to create_image and rotate functions
- 097b410f - rolled back the updates (left defines in headers)
- c42d7cd4 - includes
- 1596dce7 - function free_image moved to image.c
- ef232691 - null-verification in rotate and create_image
- 5c409566 - necessary fcloses
- 3839a882 - argc != 3
- 2212ca77 - bmp header memory allocation verification
- ce6b5eaf - fread, fseek, fwrite errors handled
Toggle commit list@bowl-of-noodles замечания исправил
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Resolved by Nikita Shkurenko
- Owner
Распространённые ошибки, некоторые из которых тут точно есть:
- Сделай функцию-конструктор для
image
(и деструктор) — будет проще. И польза будет если потребуется добавить поля в image. - Обработка ошибок fread, fwrite, fseek не везде есть
- При обработке ошибок чтения файла надо не забывать деинициализировать картинку -- там есть указатель на выделенную память в куче
- в
struct pixel
нужно использоватьpragma pack
илиattribute aligned
; или использовать массив из трёх элементов внутри структуры. - Пользователю трансформаций не хочется вообще знать про заголовки bmp файлов, ему это не нужно. Он хочет просто из картинки сделать .bmp файл. Поэтому всё про заголовок надо скрыть от него внутри .c файла.
- в
main
есть потенциал для рефакторинга. Например, выделить ещё обёртки над from_bmp и to_bmp, которые принимали бы имя файла, а не FILE*. - Разумно сделать функцию, которая будет считать адрес пикселя по его координатам.
- размер файла вам знать не нужно, и ftell нельзя использовать (например, на stdin он не сработает)
- Статический массив строчек в заголовочном файле -- не очень хорошо. 1) Размер файла будет пухнуть потому что потенциально любое включение .h файла в другой .c файл это может быть копия всего массива строчек. 2) с точки зрения расширяемости лучше спрятать массив в .с файл и наружу выставить функцию.
- typedef + структуры -- плохая идея кроме упаковки одного значения в структуру для создания нового типа (см. .
- Сделай функцию-конструктор для
approved this merge request
resolved all threads
closed
- You're only seeing other activity in the feed. To add a comment, switch to one of the following options.
Please register or sign in to reply
Viewing commit
5c409566
- 5c409566
Files with large changes are collapsed by default.