Я только что написал функцию, которая занимает примерно 100 строк. Услышав это, вы, вероятно, испытываете желание рассказать мне об отдельных обязанностях и призвать меня провести рефакторинг. Это тоже мой инстинктивный инстинкт, но вот в чем проблема: функция делает одно. Он выполняет сложные манипуляции со строками, а тело функции состоит в основном из одного подробного регулярного выражения, разбитого на множество документированных строк. Если бы я разбил регулярное выражение на несколько функций, я чувствовал бы, что на самом деле потерял бы удобочитаемость, поскольку я эффективно переключаю языки и не смогу воспользоваться некоторыми функциями, предлагаемыми регулярными выражениями. Вот мой вопрос:
Когда дело доходит до манипулирования строками с помощью регулярных выражений, большие тела функций все еще являются анти-паттерном? Кажется, что именованные группы захвата служат очень похожим целям для функций. Кстати, у меня есть тесты для каждого потока через регулярное выражение.