Czy ktoś byłby zainteresowany sprawdzeniem beta wersji biblioteki do regexpów?

0

Od mniej więcej 5-ciu lat rozwijam bibliotekę do regexpów - nadszedł czas żeby wydać wersję 1.0, ale zanim to zrobię chciałbym żeby więcej osób z niej skorzystało/poużywało.

Wersja nie jest jeszcze publiczna, ale czy ktoś chciałby z niej skorzystać i zostawić swoją opinię?

3

Nie do końca rozumiem, o co chodzi.
Przecież jest strona https://github.com/t-regx/T-Regx gdzie każdy może sobie pobrać jakąś (w miarę) aktualną wersję. Rozumiem, że kolejne wersje/release są stopniowo dodawane, a nie że wersja 1.0 jest całkowicie napisana os zera i przez to nie ma nic wspólnego z tym, co jest już dostępne na stornie. Także za bardzo nie rozumiem, o co chodzi. Czym ta "tajna" wersja 1.0 się różni od tego, co aktualnie jest na stronie?

1
cerrato napisał(a):

Nie do końca rozumiem, o co chodzi.
Przecież jest strona https://github.com/t-regx/T-Regx gdzie każdy może sobie pobrać jakąś (w miarę) aktualną wersję. Rozumiem, że kolejne wersje/release są stopniowo dodawane, a nie że wersja 1.0 jest całkowicie napisana os zera i przez to nie ma nic wspólnego z tym, co jest już dostępne na stornie. Także za bardzo nie rozumiem, o co chodzi. Czym ta "tajna" wersja 1.0 się różni od tego, co aktualnie jest na stronie?

Dzięki za zwrócenie uwagi.

Wydevelopowanie aktualnej wersji trwało 4.5 roku, i wymagało 2400 commitów, wymagało zmian, testów, kooperacji z użytkownikami, popraw bugów, obsługi edge-case'ów.

Wersja 1.0 jest napisana całkowicie od zera, ale jest w miarę spójna z interfejsem wersji 0.41.5:

  • Nazwy metod pozostały bez zmian: test(), match(), first(), replace(), replaceCallback(), split()
  • nazwy większości wyjątków są bez zmian,
  • Pattern, Matcher, także to pozostało.

Jest jednak kilka różnic:

  • W poprzedniej wersji dało się stworzyć niepoprawny pattern, w 1.0 się nie da.
  • W poprzedniej wersji błędy składniowe były opaque, w nowej są bardziej transparent
  • W poprzedniej wersji nie było phpDoc'ów, w nowej są
  • W poprzedniej wersji były feature'y z których nikt nie korzystał, w 1.0 są tylko absolutnie konieczne
  • W poprzedniej wersji była klasa Group specjalnie pod grupy, w wersji 1.0 są dedykowane metody w $match.
  • Zmieniłem nazwy niektórych constów, np. zamiast Pattern::CASE_INSENSITIVE jest Pattern::IGNORE_CASE.
  • Niektóre wyjątki są krótsze: NonexistentGroupException -> GroupException, MalformedPatternException -> SyntaxException.
  • Mimo że interfejs pozostał podobny - zmniejszyłem miejsca które faktycznie wykonują regexpy. Wcześniej różne metody wykonywały matche, zaleniżnie od potrzeb, teraz tylko metody w Pattern i Matcher wołają zapytania, wszystkie inne obiekty to value-objects.

PS: Faktycznie w tym poście pisałem 1.0, ale jak @jurek1980 zauważył, wersji 1.0 jeszcze nie ma. Jest tylko nowo przepisana biblioteka, która jeszcze nie ma release'a.

2

A na czym te testy maiłby polegać?
Nie dodam wersji beta nawet nazwanej 1.0.0 bo mam wrażenie z opisu, że można to nazwać beta, do żadnego projektu.
Opisz czego oczekujesz po tych testach i jak je sobie wyobrażasz.

0
jurek1980 napisał(a):

A na czym te testy maiłby polegać?
Nie dodam wersji beta nawet nazwanej 1.0.0 bo mam wrażenie z opisu, że można to nazwać beta, do żadnego projektu.
Opisz czego oczekujesz po tych testach i jak je sobie wyobrażasz.

Wersji 1.0 jeszcze nie ma, aktualna wersja miała tylko alfa-testy, teraz czas na beta.

Test mógłby wygląda tak że ktoś tworzy nowy throw-away project, albo dodaje libkę do jakiegoś hobbystyczego projektu i używa regexpów do czegoś. A wynik jakiego się spodziewam, to w sumie feedback czy fajnie się z tego korzysta czy nie. Ewentualnie może ktoś znajdzie buga albo odkryje że libka nie działa na jakimś środowisku.

0

Jeśli ktoś byłby zainteresowany, to:

composer require rawr/t-regx@1.0.0-alpha1

https://github.com/t-regx/T-Regx/releases/tag/1.0.0-alpha1

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.