Opened 5 years ago

Closed 5 years ago

#137 closed ожидаются исправления (задача сдана)

WW #2

Reported by: Bagryanova Ekaterina Owned by: Sokolov Viacheslav
Component: WW_strings Version: 2.0
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 5 years ago by Sokolov Viacheslav

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

Цели, не соответстующие файлам на диске, стоит пометить как .PHONY. Чтобы понять, зачем это нужно, попробуйте создать рядом с Makefile файл clean и запустить последовательно make и make clean.

size_t не обязан совпадать с unsigned int.

Лучше использовать одинаковое количество пробелов для разделения аргументов операторов, например, 1 пробел.

Функцию my_strcmp можно упростить - удалить некоторые строчки так, что программа не изменит поведение.

Лучше именовать не ans, а result, потому что у функции - возвращаемое значение.

В тестах неплохо бы проверить, что функции ведут себя в точности так, как от них требуется, в частности, возвращают именно то, что должны по Стандарту.

test_strcmp реализована некорректно: a * b может переполниться (вполне в соответствии со Стандартом). Лучше завести вспомогательную функцию, а проверку делать с помощью sign.

test_strcat модифицирует глобальное состояние, что есть плохо. Например, несколько запусков этой функции приведут к аварийному завершению программы.

comment:2 Changed 5 years ago by Bagryanova Ekaterina

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

"В тестах неплохо бы проверить, что функции ведут себя в точности так, как от них требуется, в частности, возвращают именно то, что должны по Стандарту"

Я не поняла, что это значит( но всё остальное вроде попыталась поправить.

comment:3 Changed 5 years ago by Sokolov Viacheslav

В Стандарте описано возвращаемое значение. Это часть контракта функции.

comment:4 Changed 5 years ago by Sokolov Viacheslav

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

Реализацию my_strcmp можно упростить.

my_strcat делает не то, что требует Стандарт. Было бы здорово увидеть тест, который это поймает.

В test_str.c не хватает включение test_str.h

Стандарт описывает, что именно функция strcpy должна вернуть. Сейчас проверяется лишь, что утка крякает.

Реализацию test_strcmp можно упростить (и расширить!), используя char.

comment:5 Changed 5 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.