Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

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

WW_intrusive_list

Reported by: em.vladislv Owned by: Святослав Власов
Component: WW_intrusive_list Version: 3.0
Keywords: Cc:

Description


Change History (5)

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

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

Корректность -- 0/8

  1. Валгринд детектит ошибки на многих тестах
  2. Программа падает с segfault даже на тесте из задания

Стиль -- 2/4

  1. Не надо писать функции в одну строчку, даже если они ну очень короткие. Строки у нас пока что бесплатные, не нужно их экономить.
  2. В функции add_node, строчка node->next = list->head всегда выполняется и её можно вынести за условие.
  3. То же самое касается функции remove_node, некоторые строчки всегда выполняются одинаково, их можно вынести и избавиться от нескольких лишних веток if.
  4. В remove_point обращаешься к памяти после освобождения.
  5. Такие огромные буферы на стеке явно избыточны.
  6. Массив строк тебе тоже не нужен, как и ручное разбиение на слова. У тебя есть функция scanf и sscanf используй её.
  7. stdbool.h, зачем?
Last edited 3 years ago by Святослав Власов (previous) (diff)

comment:2 Changed 3 years ago by em.vladislv

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

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

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

Корректность -- 7.5/8

  1. Выводятся лишние пробелы

Стиль -- 3/4

  1. Макрос container_of зависит от заголовочного файла stddef.h, его надо включить перед объявлением макроса
  2. Не нужно память под команду выделять на куче и освобождать. Когда я писал, что такие огромные буферы на стеке избыточны, ключевое слово было "огромные буферы", а не "на стеке". На стеке выделять память под команду -- это ок, так и надо. Просто не нужно делать буферы размером 10 килобайт, этого явно слишком много.
  3. Проверка на ненулевой размер списка в команде exit явно избыточна -- remove_all_points прекрасно должен отработать и для пустого списка.
  4. stdbool.h -- зачем он тебе нужен в main.c?

comment:4 Changed 3 years ago by em.vladislv

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

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

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

Замечания по стилю №1 не пофикшено
11.9/12

Last edited 3 years ago by Святослав Власов (previous) (diff)
Note: See TracTickets for help on using tickets.