Opened 3 years ago

Closed 3 years ago

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

WW #5

Reported by: ushakov.vladislav Owned by: Святослав Власов
Component: WW_c_io Version: 3.0
Keywords: Cc:

Description


Change History (5)

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

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

Корректность -- 3/7

  1. Не обрабатываются пустые файлы
  2. Файлы нужно открывать на запись, а не на добавление. Из-за этого данные дублируются и падают тесты.

Стиль -- 1/3

  1. Функцию apply нужно определить в clist.[h,c]
  2. container_of лучше определить в clist.h, т.к. этот макрос относится к работе с абстрактными списками, а не со списком точек
  3. Глобальные переменные -- это зло, не стоит ими пользоваться, особенно там, где без них прекрасно можно обойтись. Всё что нужно, всегда можно передать через аргументы функциям, параметр void* data ровно для этого и нужен.
  4. print_point_bin_file сложно реализован. Можно проще. Посмотри на этот кусок кода и, я уверен, тебе придет решение:
    int x = ...;
    uint8_t* data = &x;
    data[0], data[1], ...
    
  5. Аналогично loadbin
  6. loadtext и loadbin лучше в отдельные функции вынести, main хочется разгрузить

comment:2 Changed 3 years ago by ushakov.vladislav

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

print_point_bin_file упростил, но не понял, как можно упростить loadbin. Пустые файлы вроде бы корректно обрабатываются.

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

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

Корректность 7/7

Стиль 1.5/3

  1. Объявления функций должны быть в заголовочных файлах, get_point в том числе
  2. Не надо использовать адресную арифметику там, где в этом нет необходимости. У тебя есть оператор ->, нет никакой необходимости вот так писать:
    uint8_t *korx = (uint8_t *)pnode;
    uint8_t *kory = (uint8_t *)pnode + sizeof(int);
    
  3. Макрос container_of зависит от stddef.h, он должен быть включен до объявления макроса.

comment:4 Changed 3 years ago by ushakov.vladislav

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

Исправил. Еще все-таки упростил loadbin.

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

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

10/10

Note: See TracTickets for help on using tickets.