Сообщение Re: Два несуществующих файла от 28.09.2025 14:31
Изменено 28.09.2025 18:19 L_G
Re: Два несуществующих файла
Здравствуйте, B0FEE664, Вы писали:
BFE>Вот если мы сравниваем два нулевых указателя, то получаем true.
BFE>А вот если мы сравниваем два несуществующих файла, то функция их сравнения должна возвращать true или false?
Если "написать функцию сравнения двух файлов, на входе — 2 имени, на выходе — boolean" — это уже утвержденное/согласованное ТЗ, а стандартные функции получения длины и содержимого файла по его имени бросают исключения, то и функция сравнения должна пробросить эти исключения выше — программист не должен фантазировать, добавлять что-то в ТЗ от себя, да еще и писать лишний код. Об это же и принцип YAGNI.
Конечно, если есть возможность уточнить ТЗ — лучше это сделать.
Если эту задачу поставил себе сам программист — кому как не ему лучше знать ответ. Но в общем случае опять же YAGNI рулит.
BFE>Вот если мы сравниваем два нулевых указателя, то получаем true.
BFE>А вот если мы сравниваем два несуществующих файла, то функция их сравнения должна возвращать true или false?
Если "написать функцию сравнения двух файлов, на входе — 2 имени, на выходе — boolean" — это уже утвержденное/согласованное ТЗ, а стандартные функции получения длины и содержимого файла по его имени бросают исключения, то и функция сравнения должна пробросить эти исключения выше — программист не должен фантазировать, добавлять что-то в ТЗ от себя, да еще и писать лишний код. Об это же и принцип YAGNI.
Конечно, если есть возможность уточнить ТЗ — лучше это сделать.
Если эту задачу поставил себе сам программист — кому как не ему лучше знать ответ. Но в общем случае опять же YAGNI рулит.
Re: Два несуществующих файла
Здравствуйте, B0FEE664, Вы писали:
BFE>Вот если мы сравниваем два нулевых указателя, то получаем true.
BFE>А вот если мы сравниваем два несуществующих файла, то функция их сравнения должна возвращать true или false?
Если "написать функцию сравнения двух файлов, на входе — 2 имени, на выходе — boolean" — это уже утвержденное/согласованное ТЗ, а стандартные функции получения длины и содержимого файла по его имени бросают исключения, то и функция сравнения должна пробросить эти исключения выше — программист не должен фантазировать, добавлять что-то в ТЗ от себя, да еще и писать лишний код. Об этом же и принцип YAGNI.
Если используемые стандартные файловые функции выдают информацию об ошибках доступа/несуществования файлов/папок как-то иначе — было бы логично следовать их принципу (наша функция вроде бы тоже "файловая") и передавать эту инфу выше (только если это не противоречит ТЗ).
Конечно, если есть возможность уточнить ТЗ — лучше это сделать.
Если эту задачу поставил себе сам программист — кому как не ему лучше знать ответ. Но в общем случае опять же YAGNI рулит.
BFE>Вот если мы сравниваем два нулевых указателя, то получаем true.
BFE>А вот если мы сравниваем два несуществующих файла, то функция их сравнения должна возвращать true или false?
Если "написать функцию сравнения двух файлов, на входе — 2 имени, на выходе — boolean" — это уже утвержденное/согласованное ТЗ, а стандартные функции получения длины и содержимого файла по его имени бросают исключения, то и функция сравнения должна пробросить эти исключения выше — программист не должен фантазировать, добавлять что-то в ТЗ от себя, да еще и писать лишний код. Об этом же и принцип YAGNI.
Если используемые стандартные файловые функции выдают информацию об ошибках доступа/несуществования файлов/папок как-то иначе — было бы логично следовать их принципу (наша функция вроде бы тоже "файловая") и передавать эту инфу выше (только если это не противоречит ТЗ).
Конечно, если есть возможность уточнить ТЗ — лучше это сделать.
Если эту задачу поставил себе сам программист — кому как не ему лучше знать ответ. Но в общем случае опять же YAGNI рулит.