2011-01-06 18 views
5

Niedawno spotkałem się z sugestią dla wzorców regex wykorzystywanych w całej naszej bazie kodu aplikacji, które można połączyć w tabelę odnośników i pobrać z nich zamiast jawnie zakodować w logice programu.Używanie tabeli rewizyjnej dla wzorców regex

Czy ktoś może podzielić się przemyśleniami na temat tej mądrości?

Początkowo myślałem, że ułatwia to zmianę wzorów, co ma zarówno zalety, jak i wady. Ale, zasadniczo, widzę ciąg regex jako jednostkę logiki, która jest (efektywnie) wykonywana, więc przechowywanie ich w tabeli odnośników tylko sprawia, że ​​czuję się trochę nieswojo.

Ktoś myśli?

Dzięki

Odpowiedz

2

Myślę, że to świetny pomysł, jeśli uda Ci się poprawić wzór regex (lub nawet rozwiązać problem z nim), zmienisz go w jednym miejscu, a nie wszędzie (prawdopodobnie bardzo motywuje za to).

Spowoduje to zmniejszenie liczby potencjalnych błędów w programie (lub ich zwiększenie, jeśli zmienisz je niepoprawnie) Jednak to "powinno" objawiać się niemal natychmiast podczas testowania i nadal musisz je naprawić tylko w jednym miejsce, w przeciwieństwie do wszędzie ... jeszcze raz, bardziej podatne na błędy).

Jeśli chodzi o postrzeganie go jako podmiot logiczny, czy pomogłoby to, gdybyś zobaczył go jako zestaw instrukcji przechowywanych w bibliotece odniesienia, a nie samą logikę? Sama logika jest wykonywana przez procesor regex zamiast szablonu, który wpisałeś w kodzie, więc widzę go jako dobrego kandydata do zapisania w tabeli odnośników.

1

Jeśli to będzie prowadzić do niepotrzebnych połączeń SQL inaczej, powiedziałbym, no. Nie rób tego. Uciekajcie na wzgórza.

Ale poza tym, jeśli często się powtarzają, pomyśl o tym, w jaki sposób można przywrócić kod. Czy należy ich używać w funkcjach lub klasach, które są zawarte na kilku stronach? Jeśli odpowiedź brzmi "nie", to proszę bardzo, nie widzę z tym problemu.