Использование таблицы поиска для шаблонов регулярных выражений - PullRequest
5 голосов
/ 06 января 2011

Недавно я столкнулся с предложением, чтобы шаблоны регулярных выражений, используемые в нашей кодовой базе приложения, были объединены в таблицу поиска и извлечены из нее, а не явно заданы жестко в логике программы.поделиться какими-нибудь мыслями относительно мудрости этого?

Мои первоначальные мысли заключались в том, что это облегчает изменение шаблонов, что несет в себе как преимущества, так и недостатки.Но, по сути, я вижу саму строку регулярного выражения как сущность логики, которая (эффективно) выполняется, поэтому хранение их в справочной таблице просто заставляет меня чувствовать себя немного неловко.

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 января 2011

Я думаю, что это отличная идея. Если вам удастся улучшить шаблон регулярного выражения (или даже исправить проблему с ним), вы собираетесь изменить его в одном месте, а не везде (вероятно, это и есть мотив дляделая это).

Это уменьшит количество потенциальных ошибок в программе (или увеличит их, если вы измените их неправильно. Однако, это «должно» проявиться практически сразу при тестировании, и вам все еще остается только исправить его).в одном месте, в отличие от повсюду ... еще раз, более подвержен ошибкам).

Что касается восприятия его как объекта логики, поможет ли это, если вы воспримете его как набор инструкций, которыехранятся в справочной библиотеке, а не в самой логике?Сама логика выполняется процессором регулярных выражений, а не шаблоном, который вы ввели в коде, поэтому я считаю ее прекрасным кандидатом для сохранения в справочной таблице.

1 голос
/ 06 января 2011

Если это приведет к ненужным в противном случае SQL-соединениям, я бы сказал, нет. Не делай этого. Беги в горы.

Но в противном случае, если они часто повторяются, подумайте о том, как ваш код может быть реорганизован. Вы должны использовать их в функциях или классах, которые включены в несколько страниц? Если ответ «нет», продолжайте, я не вижу в этом проблемы.

...