Информация об изменениях

Сообщение Re: Два несуществующих файла от 28.09.2025 14:31

Изменено 28.09.2025 18:19 L_G

Re: Два несуществующих файла
Здравствуйте, B0FEE664, Вы писали:

BFE>Вот если мы сравниваем два нулевых указателя, то получаем true.

BFE>А вот если мы сравниваем два несуществующих файла, то функция их сравнения должна возвращать true или false?

Если "написать функцию сравнения двух файлов, на входе — 2 имени, на выходе — boolean" — это уже утвержденное/согласованное ТЗ, а стандартные функции получения длины и содержимого файла по его имени бросают исключения, то и функция сравнения должна пробросить эти исключения выше — программист не должен фантазировать, добавлять что-то в ТЗ от себя, да еще и писать лишний код. Об это же и принцип YAGNI.

Конечно, если есть возможность уточнить ТЗ — лучше это сделать.

Если эту задачу поставил себе сам программист — кому как не ему лучше знать ответ. Но в общем случае опять же YAGNI рулит.
Re: Два несуществующих файла
Здравствуйте, B0FEE664, Вы писали:

BFE>Вот если мы сравниваем два нулевых указателя, то получаем true.

BFE>А вот если мы сравниваем два несуществующих файла, то функция их сравнения должна возвращать true или false?

Если "написать функцию сравнения двух файлов, на входе — 2 имени, на выходе — boolean" — это уже утвержденное/согласованное ТЗ, а стандартные функции получения длины и содержимого файла по его имени бросают исключения, то и функция сравнения должна пробросить эти исключения выше — программист не должен фантазировать, добавлять что-то в ТЗ от себя, да еще и писать лишний код. Об этом же и принцип YAGNI.

Если используемые стандартные файловые функции выдают информацию об ошибках доступа/несуществования файлов/папок как-то иначе — было бы логично следовать их принципу (наша функция вроде бы тоже "файловая") и передавать эту инфу выше (только если это не противоречит ТЗ).

Конечно, если есть возможность уточнить ТЗ — лучше это сделать.

Если эту задачу поставил себе сам программист — кому как не ему лучше знать ответ. Но в общем случае опять же YAGNI рулит.