Существует аналогичный вопрос, но он просто получил те же старые ответы, которые люди всегда дают о синтаксисе регулярных выражений, но это не главное, поэтому, пожалуйста, постарайтесь не дергать одни и те же старые ответы о синтаксисе регулярных выражений. На этот раз постарайтесь быть немного более оригинальным и личным.
Синтаксис регулярных выражений очень ОЧЕНЬ компактен, почти слишком компактен, чтобы быть хорошим. Это похоже на игру в гольф, и все согласны с тем, что игра в гольф — не очень хорошая вещь в рабочем коде. Однако большинство людей принимают синтаксис регулярных выражений, который кажется... по меньшей мере противоречивым.
Итак, теперь некоторые распространенные способы защиты, которые можно услышать, включают:
Ответ: он компактный
Возражение: разве мы не согласны в наши дни с тем, что код должен быть грамотным, а такая переменная, как «клиент», лучше, чем «с»?
Ответ: это "язык домена"
Возражение: как насчет всех очень простых для понимания, некомпактных, незашифрованных и, осмелюсь сказать, симпатичных предметных языков, таких как SQL или LINQ?
Ответ: его легко понять, если вы его знаете.
Против: большинство отличных языков легко понять, даже если вы никогда не использовали их раньше. Например, любой может очень легко погрузиться в Python, даже если он никогда не видел его раньше. И почему люди защищают Regex, когда на него так сложно смотреть, а потом продолжают жаловаться на круглые скобки в Lisps?
Хорошо, теперь все стараются быть оригинальными и честными, а не просто вытаскивать те же самые старые механические ответы, которые программисты использовали 20 лет назад для разработки регулярных выражений. Если вы действительно не верите, что они действительны в наши дни.
Редактировать: Для справки: я знаю Regex много лет назад, часто использую их даже сегодня и, возможно, даже грущу их. Однако у меня внезапно возникло ощущение, что, возможно, пришло время пересмотреть то, что я принял за «истину» о регулярных выражениях, и взглянуть на них с современной точки зрения. В основном из-за того, что вопросы о принципах необходимы для дальнейшего развития, и из-за того, что так много новичков яростно жалуются на них, они не могут быть просто правильными, поэтому я решил попытаться встать на место новичка и рассмотреть некоторые положительные моменты. против регулярного выражения.
Что касается субъективности, я не думаю, что это менее субъективно ИЛИ менее связано с программистами, чем Шутки о программистах из повседневных вещей. Напротив, это очень связано с программистом.
Что касается аргументативности, в этом суть вопроса. Чтобы получить хорошие аргументы за и против устаревшего синтаксиса регулярных выражений, которые могут помочь новичкам действительно понять больше о том, почему регулярные выражения такие, какие они есть, и, что еще лучше, надеюсь, заставить какого-нибудь новичка придумать лучшее решение, которое старомодные США не могут видеть, потому что мы ослеплены «крутизной» регулярных выражений.
Цитата:
Документация Perl 5.10 для регулярных выражений превратилась в кучу нечитаемой чепухи, потому что в синтаксис вкралось так много дурацких функций, что никто больше не может написать для него толковую документацию.
Вы пытаетесь сказать, что регулярное выражение стало неподдерживаемым? Что ж, тогда, как хорошие программисты, должны ли мы рассмотреть возможность их рефакторинга? Может быть, очистить и попробовать, как мы сделали с некоторыми другими технологиями?