asgrom
По-моему легче быстро накидать новый чем предусматривать все условия, которые могут возникнуть.
Ты просто не видишь, как оно поменяется. Вот ты говоришь “подать файлик”, а завтра у него придёт поток тех же самых строк на сайт. То есть он может через requests взять эти строки, а дальше что? А дальше ему нужно будет сохранять их в файл, потому что ты наложил такое условие - что строки берутся из файла. Лишнее действие? Ну ладно, пофиг на лишнее действие. А теперь представь бесконечный поток строк, который всё идёт и идёт. Мы не можем в любой момент остановиться и посчитать, потому что у тебя она должна в файл всё сначала сохранить.
Поэтому делается всё так, что ты разбираешь строки какие-то, которые неизвестно откуда приходят. А то, как они попадают на обработку (берутся из файла или не из файла или из кучи файлов), за это отвечает отдельный кусок кода, который ты ещё можешь разветвить.
Поэтому мы во всех таких местах, где может что-то поменяться, вставляем отведение на сложные разборщики.
Вот у меня недавно такое было в реальной программе, которую я написал давно уже. У меня программа разбирала файл. Файл не мой, я его не делаю, это чужой файл из чужой программы. Всё было прекрасно несколько месяцев. А потом они взяли и сжали его для удобства. И что, ты думаешь, моя программа? Сломалась, конечно. Работа остановилась. Пришлось писать расжатие. А расжимать файл в него же нельзя, потому что это не мой файл, им другая программа тоже пользуется. Вот пришлось разжимать его вообще в сторону, а потом этот сторонний расжатый файл брать. При этом в старых версиях программы (которая файл производит) файл не сжат и его тоже нужно уметь брать без разжатия, как раньше было. То есть я не могу поменять код на другой. Мне нужно старый оставить и новый дописать к нему и их оба использовать потом, переключаясь между ними.
А ты говоришь, каждый раз новую программку писать. Она может маленькой быть, а может огромненькой быть. И на ней может быть построена работа какая-то важная.