Opened 3 years ago

Closed 3 years ago

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

WW #2

Reported by: Terova Valeriia Owned by: Святослав Власов
Component: WW_strings Version: 3.0
Keywords: Cc:

Description


Attachments (1)

photo_2020-11-22_02-57-21.jpg (32.3 KB) - added by Святослав Власов 3 years ago.

Download all attachments as: .zip

Change History (7)

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

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

За корректность -- пока 0, т.к. требования к оформлению не соблюдены и нельзя запустить тестирующую систему.

  1. Сигнатуры функций не соответствуют определенным в стандарте (ключевые слова, порядок аргументов)
  2. Undefined behavior в функции test_strcat:

2.1 Никто не гарантирует, что память выделенная на куче будет заполнена нулями, там может быть что угодно.
2.2 Пишешь за границами памяти.

  1. Память в тестах не очищается.

За стиль -- 1.5
Замечания:

  1. Лишние заголовочные файлы (stdlib.h в str.c, stdio.h в test_str.c)
  2. Неровные отступы
  3. Мало автотестов. Нужно написать хотя бы по паре тестов на основные варианты работы функций. Например, для my_strcmp убедиться, что варианты с возвращением 0, 1 и -1 работают корректно, для функций my_strcat убедиться что корректно работают случаи с пустой строкой в качестве одного из аргументов.

comment:2 Changed 3 years ago by Terova Valeriia

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

Не нашла ошибки в сигнатурах функций :(

Все остальное вроде бы пофиксила.

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

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

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

По прежнему сигнатуры не исправлены.
Открой стандарт http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf найди там сигнатуры функций, прочитай что откуда копируется и что должно быть возвращено.
Вот пример для strcpy:
https://trac.compscicenter.ru/spbsu/attachment/ticket/50/photo_2020-11-22_02-57-21.jpg
Прочитай под пунктом 2 что куда должно копироваться.
Аналогично нужно сделать для остальных функций.

А пока 0/7 за корректность.

Плюс к этому my_strcpy пишет на один символ за границы переданного буфера.

За стиль претензий нет -- 3/3

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

Даю возможность исправить до вечера воскресенья.

comment:5 Changed 3 years ago by Terova Valeriia

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

Исправила сигнатуру для my_strcpy, все остальное вроде бы ok (я честно до этого момента 4 раза читала этот стандарт и не замечала, что там что-то не так, извините :)).

За буфер теперь тоже писать не должен.

🙏🏼🤞🏼

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

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

6/7 корректность -- my_strcpy и my_strcat по прежнему пишут за буфер: сначала нулевой байт записывается в цикле while, а потом еще раз записывается отдельно.

Минус балл за позднюю сдачу.

Итого 8/10.

Note: See TracTickets for help on using tickets.