![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Привет.
Есть несколько тысяч операций, которые выдают результаты различного типа. Каждый результат надо обрабатывать по определенной формуле и определять хорошо или плохо. Все было просто, когда обработка была на сравнения с каким то параметром. Например результат число больше 200, или строка != "", ну и если результат массив, то обычно проверялась его длина или искался элемент в нем. Я до сих пор использовал формулы в обратной польской нотации (ОПН), куда подставлялся результат. Было более менее универсально. Теперь проблема. Появилась необходимость искать подстроки в строках или в массиве строк, использовать регулярные выражения. ОПН в некоторых местах поломался, из-за спецсимволов. Вот хочу найти альтернативу, но чтобы было универсально. Хотел перейти полностью на регэкспы, но сомневаюсь, что они умеют сравнивать больше меньше. У меня пока вариант, использовать регэкспы в довесок к ОПН, но только для строк.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 47
|
Почитайте про шаблон Specification http://martinfowler.com/apsupp/spec.pdf
|
|
|||||
|
Modus ponens
|
Цитата:
Человек изобрел теорию категорий, еще раз.(создаем тип целых нечетных чисел). или: ЗЫ. У этих "методов" о которых говорится в бумаге даже имя специальное есть - предикаты.
__________________
Hell is the possibility of sanity |
|
|||||
|
Цитата:
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
То есть для чисел один валидатор, для строк другой, для массивов третий? Если да, имеет ли смысл дробить их еще мельче по виду проверки - отдельный валидатор для больше, отдельный для меньше, третий для равно?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 47
|
Валидаторы, описанные alatar, по сути и есть Спецификации по Фаулеру.
Цитата:
В статье, на которую я дал ссылку, написано как удобно делать композитные валидаторы. |
|
|||||
|
Цитата:
Цитата:
Цитата:
Спасибо.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|