Opened 5 years ago

Closed 5 years ago

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

WW #2

Reported by: Alexander Morozov Owned by: Sokolov Viacheslav
Component: WW_strings Version: 2.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 5 years ago by Sokolov Viacheslav

Под linux проект не собирается. (И не должен по стандарту языка Си).
Проблема описана, например, здесь: https://stackoverflow.com/a/3025106
Есть такой вариант решения: использовать не константы, а функции, возвращаюшие константы. Этот вариант полезен и в языке C++ для решения проблемы порядка инициализации статических объектов.

Напоминаю про различие между void f() и void f(void).

Нет проверки предусловий, желательно добавить assert-ы на соблюдение контрактов функций.

Желательно отделять контексты (например, разные функции) друг от друга пустыми строчками, это улучшает читаемость.

Желательно не экономить на названиях. s, s1, s2 - это ОК в контексте абстрактных имен для однотипных функций по работе над строками, а вот beg - плохо: читатель должен додумывать, что именно имеется в виду. Лучше именовать result, что сразу снимает все вопросы. Еще лучше - char * const result = s1

Обращаю внимание, что каждый из вызовов malloc может завершиться неудачей. Пользователь автотеста ожидает от него следующего поведения: если тест упал, значит, реализация функций my_* некорректная (что неверно). Было бы неплохо гарантировать это. Этого можно достичь разными способами, в том числе не использовать динамическую аллокацию. В данном случае это, разумеется, не играет большого значения, потому что такое событие маловероятно, но это не значит, что на это не нужно обращать внимания.

Ключевое - именование переменных и функций.

comment:2 Changed 5 years ago by Sokolov Viacheslav

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

comment:3 Changed 5 years ago by Alexander Morozov

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

Как ни странно, под gcc в macos проект собирался. Поменял на define, как предлагали на stackoverflow, потому что сложно создать глобальный массив с размером равным возвращаемому значению функции.

comment:4 Changed 5 years ago by Sokolov Viacheslav

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