Opened 5 years ago

Closed 5 years ago

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

WW #3

Reported by: vorobeva.polina Owned by: Egor Suvorov
Component: WW_intrusive_list Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 5 years ago by Egor Suvorov

Owner: changed from Egor Suvorov to vorobeva.polina
Type: ожидается проверкаожидаются исправления

Корректность:

  1. Не работает команда exit
  2. Вы выводите лишний пробел в конце строки.

В остальном работает отлично.

По стилю:

  1. В remove_node не устанавливается prev для новой головы списка.
  2. a0, a1 — плохие названия для x/y-координат. Тем более что не надо их делать разными, они лежат в разных фигурных скобках и друг другу не мешают.
  3. Намешаны табы и пробелы в отступах, всё едет.
  4. Лучше не if (x != NULL), а просто if (x).
  5. struct *p = malloc(...); — объявите переменную и сразу присвойте в неё значение.
  6. В &(a->b) скобочки не нужны.
  7. Объявляйте переменные в самом вложенном месте, где они в первый раз нужны. Например, item нужен только внутри цикла.
  8. В show_all_points больше подходит for.
  9. В add_node лучше сначала выставлять свойства node, а потом все остальные. Тогда код будет чуть красивее и симметричнее, имхо. Потребуется только одна строчка под ифом.
  10. remove_node можно тоже упростить. Подсказка: вам почти не надо разбирать случай list->head == pointer, там одна команда есть и в другой ветке, одна команда бесполезна, и вот одна действительно этот случай порождает. Но его можно разобрать проще, если будет верно head->prev == NULL

Последние два пункта (исправления в списке) стоят 1 балл по стилю.

comment:2 Changed 5 years ago by vorobeva.polina

Owner: changed from vorobeva.polina to Egor Suvorov
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

Из замечаний исправлено почти все. Не выполнены п.2 из корректности;п.8 из стиля т.к while мне нравится больше) (и он понятнее); п.10 из стиля (этот пункт немного исправлен, но исправленный вариант не включает "рекомендованную" строчку)

comment:3 Changed 5 years ago by Egor Suvorov

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

Была уже проверена версия 1179, последующие — уже после доделок после дедлайна (ставятся в табличку в примечания к ячейке).

В версии 1179 было по корректности 5.5/8 и по стилю 2/4.

Корректность 7.5/8 (исправился exit, что важно):

  1. print выводит лишний пробел в конце строки.
  2. Если скормить на вход очень длинную команду, то Unknown command будет выведено несколько раз.

По стилю 3/4:

  1. Разные отступы (в структуре point и в функциях, например).
  2. Ставьте пробелы вокруг бинарных операторов: x[a + b] = y[c];
  3. #define container_of лучше отбить пустой строкой от include, чтобы с ними не сливался.
  4. Лучше изменять длину списка либо в самом начале, либо в самом конце, а не в середине, между операциями с указателями.
  5. Многовато скобочек в malloc((sizeof(point)))

remove_node сейчас хорош.

Если захотите добрать ещё — смело переоткрывайте тикет.

Note: See TracTickets for help on using tickets.