Здравствуйте, ·, Вы писали:
L_G>>>Конечно, если есть возможность уточнить ТЗ — лучше это сделать. BFE>>Предположим, что вы пишите ТЗ. Какое уточнение вы добавите? ·>Это зависит от задачи. Например, если ты решаешь задачу сделать бэкап, и надо потом убедиться, что AreEqualFiles("orig.file", "backup.file"). — ты уверен, что тут хочешь true, если дискетку достали в неподходящий момент? Тут явно надо написать страшное сообщение, что "целостность бэкапа не подтверждена" и true/false просто не обойтись.
Ну почему же? Если функция возвращает false, т.е. файлы различны, то надо написать страшное сообщение, что "целостность бэкапа не подтверждена".
·>В общем, не надо писать такую функцию. А подумать о решаемой задаче получше и на основании этого принять решение о дизайне кода.
Может быть, но наверное стоит уточнить:
— всегда можно проверить доступ к файлам до вызова этой функции, но файлы могут исчезнуть в любой момент удалённые другой программой (например)
— обработчик ошибок можно добавить в качестве третьего аргумента функции.
В обоих случаях функция должна что-то вернуть, при том что, обработчик ошибок может обрабатывать ошибочную ситуацию как угодно, но не меняя результат функции.