Если функция принимает в качестве ввода имя текстового файла, я могу его реорганизовать, вместо этого возьму файл-объект (я называю его "потоком", есть ли лучшее слово?). Преимущества очевидны - функция, которая принимает поток в качестве аргумента:
- гораздо проще написать unit test для, так как мне не нужно создавать временный файл только для теста
- более гибкий, так как я могу использовать его в ситуациях, когда у меня как-то уже есть содержимое файла в переменной
Есть ли недостатки в потоках? Или я должен всегда реорганизовать функцию из аргумента имени файла в аргумент потока (если, конечно, файл является текстовым)?