Wykorzystanie Wyrażeń Regularnych do pracy w Zintegrowanych Środowiskach Programistycznych

Starożytne skrypty Wyrażeń regularnych często zdają się być nieco przekombinowane dla nas, programistów. Większość z nas używa go tylko do sprawdzania poprawności danych wejściowych, ale Regex ma wiele ciekawych zastosowań w różnych językach programowania. Niestety, przy tak wielu innych technologiach, za którymi musimy nadążyć, często jest po prostu zbyt mało czasu, aby w pełni go wykorzystać. W tym artykule chciałbym pokazać w jaki sposób możemy wykorzystać wyrażenia regularne do usprawnienia naszej pracy w IDE (zintegrowane środowisko programistyczne). Uwaga: te zastosowania mogą być zastosowane w każdym IDE, które obsługuje wyszukiwanie Regex. W tym artykule będę używał Visual Studio Code.

Sprawdzanie tekstu pod kątem potencjalnych błędów PascalCase lub CamelCase

Każdy projekt ma swoją własną konwencję nazewnictwa plików. Ważne jest, aby nie przeoczyć żadnego błędu w nazewnictwie, ponieważ może to prowadzić do błędów w komunikacji pomiędzy frontendem a serwerem backendowym. Na szczęście możemy wykorzystać naszą wiedzę o wyrażeniach regularnych, aby w prosty sposób przeszukać cały plik w poszukiwaniu potencjalnych błędów w pisowni.

W tym przypadku szukamy wielkich liter po cudzysłowie otwierającym („), więc możemy szukać słów PascalCase, które powinny zaczynać się od małych liter (np. camelCase).

\”[A-Z]

Możemy to dostosować, szukając zamiast tego słów camelCase.

\s*”[a-z]

Użycie \s* pozwala nam pomijać wszelkie białe znaki na początku linii.

Generowanie enumów na frontend na podstawie plików backendu

Na backendzie enumy są często przechowywane jako enumy numeryczne, podczas gdy na frontendzie możemy potrzebować ich w innej formie. W tym przykładzie, możemy użyć Regex do łatwej konwersji enumów numerycznych na enumy typu string.

Find: (\S+) = \d+.

Replace: $1 = ‘$1′

Jeśli chcemy dokonać innej konwersji, prawdopodobnie już istnieje do tego Wyrażenie Regularne. Usuńmy inicjalizatory z danego enuma numerycznego.

Find: (\S+) = \d+

Zamień: $1

Znajdowanie skomentowanego kodu w naszych plikach

Zanim opublikujemy Pull Request z naszą pracą, chcemy się upewnić, że nie ma żadnych niepotrzebnych linii kodu. Kiedy w plikach zachodzi wiele zmian, łatwo jest przeoczyć komentarze, które zostawiliśmy podczas procesu developmentu. Ten, dość długi Regex (znaleziony tutaj) pomoże nam znaleźć różne typy komentarzy.

Find: (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)

Znajdowanie zduplikowanych słów wewnątrz stringa w pliku JSON

Tekst renderowany w naszej aplikacji pochodzi z różnych zasobów. Przed nadaniem mu ostatecznego kształtu, tekst taki jest często modyfikowany, kopiowany, wklejany itp. Jednak takie operacje mogą prowadzić do niechcianych błędów. Z pomocą tego Regexa możemy wyszukać zduplikowane słowa wewnątrz naszego pliku i usunąć niepotrzebną kopię.

Find: (^S+) = ^d+.

Replace: $1 

Zmaganie się z tymi wszystkimi złożonymi problemami, które rzuca nam współczesne programowanie, jest często wyczerpującym zadaniem. Powinniśmy o tym pamiętać, używając wyrażeń regularnych. Oczywistym jest, że nie zapamiętamy wszystkich jego podstawowych reguł, nie mówiąc już o bardziej skomplikowanych. Jednym z wielu powodów jest fakt, że Wyrażenia Regularne są często jednym z wielu narzędzi, z których korzystamy podczas naszej pracy. Zamiast więc walczyć z niemożliwym i próbować zapamiętywać te wszystkie rzeczy, po prostu zapisujmy co bardziej przydatne wzorce Regexa i wykorzystujmy je w codziennej pracy. Usprawni to nie tylko naszą pracę z IDE, ale również pozwoli zachować zdrowy rozsądek 🙂