Jak dbamy o jakość kodu w NetTeam Solutions
Jednym z największych wyzwań pracy w grupie, jest wspólne utrzymywanie kodu. W NetTeam Solutions, postawiliśmy na sprawdzone i skuteczne rozwiązania. Każde realizowane przez nas zadanie, na etapie spushowania na swój własny feature-branch, wywołuje własny pipeline, który buduje ten branch, uruchamia na nim testy jednostkowe oraz narzędzia sprawdzające formatowanie i układ kodu.
Jeżeli chodzi o nasze projekty frontendowe, wykorzystujemy narzędzia Prettier, TypeScript oraz Eslint.
Prettier to narzędzie do automatycznego formatowania kodu, które pomaga utrzymać spójny styl w projekcie. Jego głównym celem jest eliminacja dyskusji dotyczących stylu formatowania kodu – nie interesują nas przez to średniki, czy inne elementy stylowania – wszystkim tym zajmuje się prettier. Po prostu wymusza konkretne formatowanie bez względu na osobiste preferencje programistów. Stąd raz skonfigurowany, będzie trzymał się swoich zasad. W moim przypadku, prettier jest skonfigurowany na zapis, wiec po napisaniu każdej linijki kodu, automatycznie sprawdza plik i wprowadza w nim poprawki, by zgadzały się z naszą konfiguracją ustawień.
TypeScript to silnie typowany język programowania, który bazuje na JavaScript. Jego największą zaletą, jest typowanie – coś czego sam JavaScript nie posiada, a po dłuższej pracy w TypeScript, praca bez typowania staje się wręcz udręką.
const user = {
firstName: "Angela",
lastName: "Davis",
role: "Professor",
}
console.log(user.name)
//Property 'name' does not exist on type '{ firstName: string; lastName: string; role: string; }'.
Dzięki TS w prosty sposób możemy sprawdzić czy odwołujemy się do elementów w sposób poprawny – otypować zwrotkę z API, by móc odnosić się do istniejących kluczy – czy po prostu przestać dodawać string do wartości numerycznych. Pomaga on nam w codziennej pracy, zmniejszając ilość błędów i precyzując dokładnie, jak mają działać funkcje.
Eslint natomiast odpowiada za statyczną analizę kodu JavaScript (w naszym przypadku TypeScript) – Pomaga on identyfikować i eliminować potencjalne problemy z jakością kodu. Umożliwia on przełączanie wielu rożnych zasad, które aktualnie są w projekcie potrzebne. Wykrywanie przez niego złych praktyk programistycznych, niezgodności z ustalonymi standardami i innymi potencjalnymi problemami związanymi z czystym kodem umożliwia zwiększenie czystości i bezawaryjności kodu. Dodatkowo łatwość integracji, sprawia że instalacja jest naprawdę trywialna, więc niskim kosztem można uzyskać naprawdę potężne narzędzie, przydatne w codziennej pracy.
Dodaj komentarz