Opened 5 years ago
Closed 5 years ago
#349 closed ожидаются исправления (задача НЕ сдана)
WW #3
Reported by: | pshek.maksim | Owned by: | Egor Suvorov |
---|---|---|---|
Component: | WW_intrusive_list | Version: | 1.0 |
Keywords: | Cc: |
Description
Забыл создать тикет...
Change History (1)
comment:1 Changed 5 years ago by
Resolution: | → задача НЕ сдана |
---|---|
Status: | assigned → closed |
Type: | ожидается проверка → ожидаются исправления |
Note: See
TracTickets for help on using
tickets.
До дедлайна была посылка 1204. Она, к сожалению, не компилируется (предупреждение компилятора), а если и компилируется, то сразу падает. Это +1 за Makefile и структуру и +1 по стилю за довольно разумную попытку сдачи.
Следующая более корректная попытка — увы, только через 20 минут после дедлайна, 1204.
Корректность:
print
выводит лишний пробел в конце строки.Unknown command
выведется несколько раз. Как я выяснил: заменил исходный размер буфера со 128 на 4 и попробовал вбить что-то не очень длинное под Valgrind. Причина: передаёте вrealloc
не*buffer
, аbuffer
.clist.h
следует включить<stddef.h>
, чтобы при подключенииclist.h
работал макросcontainer_of
, который используетoffsetof
из стандартной библиотеки.Баллы за корректность были бы 6/8:
readLine
впечатляет. Примерно так он и реализуется, да.По стилю 1.5/4:
list1
,node1
. Простоlist
иnode
.add_node
можно проще: там можно сделатьnode1->next = ...
вне ифа, равно как иlist1->head = ...
.get_length
должен принимать указатель на список, как и все остальные функции. Незачем копировать структуру.remove_node
поехавшие отступы.remove_node
можно упростить: элемент первый тогда и только тогда, когда нет предыдущего. Два ифа можно склеить в один.typedef
: неstruct intrusive_node
, а простоintrusive_node
.x[a + b] = y[c];
CMD
не нужен, можно сравнивать просто данные изbuf
.#define command(name)
— так лучше не стоит, лучше честно везде написатьif
, будет понятнее. Тут не такая большая экономия в символах и повторах, чтобы использовать макрос.Итого было бы 7.5/12.
Если хотите ещё дорешать — смело переоткрывайте тикет.