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
Owner: | changed from Egor Suvorov to vorobeva.polina |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 5 years ago by
Owner: | changed from vorobeva.polina to Egor Suvorov |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
Из замечаний исправлено почти все. Не выполнены п.2 из корректности;п.8 из стиля т.к while мне нравится больше) (и он понятнее); п.10 из стиля (этот пункт немного исправлен, но исправленный вариант не включает "рекомендованную" строчку)
comment:3 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Была уже проверена версия 1179, последующие — уже после доделок после дедлайна (ставятся в табличку в примечания к ячейке).
В версии 1179 было по корректности 5.5/8 и по стилю 2/4.
Корректность 7.5/8 (исправился exit
, что важно):
print
выводит лишний пробел в конце строки.- Если скормить на вход очень длинную команду, то
Unknown command
будет выведено несколько раз.
По стилю 3/4:
- Разные отступы (в структуре
point
и в функциях, например). - Ставьте пробелы вокруг бинарных операторов:
x[a + b] = y[c];
#define container_of
лучше отбить пустой строкой отinclude
, чтобы с ними не сливался.- Лучше изменять длину списка либо в самом начале, либо в самом конце, а не в середине, между операциями с указателями.
- Многовато скобочек в
malloc((sizeof(point)))
remove_node
сейчас хорош.
Если захотите добрать ещё — смело переоткрывайте тикет.
Note: See
TracTickets for help on using
tickets.
Корректность:
exit
В остальном работает отлично.
По стилю:
remove_node
не устанавливаетсяprev
для новой головы списка.a0
,a1
— плохие названия для x/y-координат. Тем более что не надо их делать разными, они лежат в разных фигурных скобках и друг другу не мешают.if (x != NULL)
, а простоif (x)
.struct *p = malloc(...);
— объявите переменную и сразу присвойте в неё значение.&(a->b)
скобочки не нужны.item
нужен только внутри цикла.show_all_points
больше подходитfor
.add_node
лучше сначала выставлять свойстваnode
, а потом все остальные. Тогда код будет чуть красивее и симметричнее, имхо. Потребуется только одна строчка под ифом.remove_node
можно тоже упростить. Подсказка: вам почти не надо разбирать случайlist->head == pointer
, там одна команда есть и в другой ветке, одна команда бесполезна, и вот одна действительно этот случай порождает. Но его можно разобрать проще, если будет верноhead->prev == NULL
Последние два пункта (исправления в списке) стоят 1 балл по стилю.