Opened 5 years ago
Closed 5 years ago
#364 closed ожидается проверка (задача сдана)
WW#5
Reported by: | Igor Engel | Owned by: | Sokolov Viacheslav |
---|---|---|---|
Component: | WW_c_io | Version: | 1.0 |
Keywords: | Cc: |
Description
Вроде работает даже с отрицательными, но примеров бинарных файлов нет. Точно работает с отрицательными внутри фалов созданных ей самой.
Change History (10)
comment:1 Changed 5 years ago by
comment:2 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:3 Changed 5 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
Ок, колбэки поправил
Unused поправил
В своём коде вроде все non-null-assert'ы поставил, в предоставленный список надо их впихивать?
Вынести в константу не вышло, в макрос тоже. В обоих случаях при assertion-failed будет имя отображаться, а не строка
comment:4 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
в предоставленный список надо их впихивать?
нет
comment:5 Changed 5 years ago by
Resolution: | задача сдана |
---|---|
Status: | closed → reopened |
Забыл про следующий момент, который нужно поправить на допбалл:
fprintf / write может не получиться, если на файловой системе место кончилось.
Нужно как-нибудь специфицировать поведение программы в таком случае - как минимум сообщать об этом с помощью кода возврата. Для этого стоит либо поменять сигнатуру apply (протащить возможность рапортовать ошибку), либо использовать exit. Кроме того, стоит решить, что делать с частично записанными данными - либо оставить, как есть, либо удалить файл целиком, либо оставить только успешно записанные точки, но в любом случае поведение должно быть донесено до конечного пользователя утилиты либо комментарием в main, либо с помощью --help.
comment:6 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:8 Changed 5 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
write возвращает size_t
The number of objects written successfully, which may be less than count if an error occurs.
comment:9 Changed 5 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:10 Changed 5 years ago by
Resolution: | → задача сдана |
---|---|
Status: | reopened → closed |
с моей точки зрения неудачное решение не передавать имена переменных. Из этого участка кода совершенно неочевидно, что node, data приходят снаружи, какие у них типы, в каком порядке они идут.
Я бы предпочел видеть что-то такое:
а в .h , где не важны имена
объявление и определение бывает полезно разбивать.
это делается вот так
удобно сделать макрос
он такой, чтобы а) гарантированно ничего не делать, каким бы ни был x б) компилятор не мог это вырезать
not null все
"Unable to open input file" стоит вынести в именованную константу
Содержательно все в порядке.