W świecie PHP firma Jestbrains znana jest głównie z doskonałego IDE PhpStorm. Sam z niego korzystam od wielu lat i nie wyobrażam sobie pracy przy większym projekcie bez tego narzędzia. Podobnie jest z innymi produktami tej firmy, które przetestowałem – RubyMine, PyCharm oraz YouTrack. Wszystkie spełniały moje oczekiwania i nie miałem z nimi najmniejszego problemu. Dlatego podchodząc do testów Upsource, o którym dowiedziałem się zupełnie przypadkiem, wiedziałem że mam przed sobą porządne narzędzie.

Co to jest Upsource?

Jest to narzędzie pozwalające przeglądać kod znający się w repozytorium wraz z historią zmian, porównywaniem wprowadzonych modyfikacji oraz co najważniejsze, dające możliwość prowadzenia code review. W dużych projektach, code review jest jednym z podstawowych elementów testowania kodu, a dzięki Upsource proces ten został maksymalnie uproszczony.

Jakie możliwości ma Upsource?

Przede wszystkim pozwala w jednym miejscu przechowywać informacje o naszych projektach. Z jego poziomu mamy wgląd do wszystkich podpiętych repozytoriów. Repozytorium przeglądamy w typowy sposób, czyli od najnowszego commita. Poza samym przeglądaniem, kolejnych commitów, mamy możliwość ich wyszukiwania. Możemy szukać po komentarzu, autorze, dacie i innych parametrach opisujących commit.

Po odnalezieniu interesującego nas commita, możemy przejść do jego szczegółów. Tutaj z kolei otrzymujemy do dyspozycji porównywanie zmian między wersjami (w widoku jednego pliku oraz dwóch położonych obok siebie), możliwość przeglądania hierarchii klas (tak jak w dowolnym IDE – po kliknięciu na nazwę metody, klasy, zmiennej, przeniesieni zostaniemy do właściwego pliku). Podobnie jak w IDE działa również sprawdzanie kodu. Upsource pokaże nam wszystkie błędy oraz ewentualne miejsca, w których mogliśmy popełnić błąd przy pomocy odpowiednich powiadomień. Bardzo to skraca czas potrzebny na code review.

Najważniejszą funkcją Upsource jest tytułowy code review, czyli możliwość zgłoszenia uwag do kodu oraz nadzorowanie postępu ich wprowadzania. Upsource dostarcza kilka ciekawych mechanizmów, które to ułatwiają. Po pierwsze kod, który budzi naszą wątpliwość możemy zaznaczyć, a następnie dodać do niego komentarz. Komentarz trafia do osoby, którą wskażemy. Ponadto mamy możliwość prowadzenia dyskusji dotyczącej problematycznego fragmentu kodu, co pozwala pracować w zespole, który nie musi być w jednym biurze.

Przegląd najważniejszych funkcji znajdziecie w tym wideo:

Instalacja Upsource jest niezwykle prosta, podobnie jak korzystanie z niego. Niestety jest jeszcze w wersji EAP (early access program), więc nie nadaje się do produkcyjnego zastosowania. Jeśli po wydaniu oficjalnej wersji cena nie będzie z kosmosu, kupię to rozwiązanie, ponieważ bardzo ono ułatwi pracę w zespole.

Więcej informacji na temat Upsource znajdziecie pod adresem www.jetbrains.com/upsource