История изменений
Исправление Manhunt, (текущая версия) :
А то был намёк на очевидный общий подход – хочешь, чтобы одна часть кода не загромождала другую – не смешивай их.
Это с самого начала подразумевалось, что ввод-вывод реализует один модуль, а парсингом занимается другой модуль. Однако когда парсер заказывает себе очередной блок данных, он вместо данных может получить ошибку ввода-вывода.
Моё утверждение состояло в том, что модуль парсинга не должен содержать упоминаний об ошибках ввода-вывода (которые могут приехать из модуля ввода-вывода). То есть парсеру достаточно учитывать, что запрос за новым блоком данных может быть неуспешным, но вот разновидности неуспеха ему должны быть глубоко безразличны. При нормальной инверсии зависимостей, парсер и знать не будет, что поставщиком данных является модуль вводы-вывода.
Это отличается от позиции других участников обсуждения, которые убеждены, что очень важно индивидуально обрабатывать каждую ошибку, какая только может приехать вместо нормального результата.
Исправление Manhunt, :
А то был намёк на очевидный общий подход – хочешь, чтобы одна часть кода не загромождала другую – не смешивай их.
Это с самого начала подразумевалось, что ввод-вывод реализует один модуль, а парсингом занимается другой модуль. Однако когда парсер заказывает себе очередной блок данных, он вместо данных может получить ошибку ввода-вывода.
Моё утверждение состояло в том, что модуль парсинга не должен содержать упоминаний об ошибках ввода-вывода (которые могут приехать из модуля ввода-вывода). То есть парсеру достаточно учитывать, что запрос за новым блоком данных может быть неуспешным, но вот разновидности неуспеха ему должны быть глубоко безразличны.
Это отличается от позиции других участников обсуждения, которые убеждены, что очень важно индивидуально обрабатывать каждую ошибку, какая только может приехать вместо нормального результата.
Исходная версия Manhunt, :
А то был намёк на очевидный общий подход – хочешь, чтобы одна часть кода не загромождала другую – не смешивай их.
Это с самого начала подразумевалось, что ввод-вывод реализует один модуль, а парсингом занимается другой модуль. Однако когда парсер заказывает себе очередной блок данных, он вместо данных может получить ошибку ввода-вывода.
Моё утверждение состояло в том, что модуль парсинга не должен содержать упоминаний об ошибках ввода-вывода (которые могут приехать из модуля ввода-вывода).
Это отличается от позиции других участников обсуждения, которые убеждены, что очень важно индивидуально обрабатывать каждую ошибку, какая только может приехать вместо нормального результата.