Znajomość Maven/GIT- co to znaczy?

1

W wielu ogłoszeniach natrafia się na wymagania "znajomość GIT" lub "znajomość Maven".. ale co to tak, w ogole znaczy? Maven to struktura projektu.. wygodne podłączanie bibliotek.. git- system kontroli wersji, jego workflow.. i coś jeszcze? Jakie dokładnie umiejętności trzeba posiadać aby móc powiedzieć o sobie, że zna się te zagadnienia?

1

Pytanie jest jak najbardziej sensowne ;) Z tym, że z dobrą odpowiedzią jest już gorzej. W większości przypadków "znajomość git'a" i "znajomość maven'a" sprowadza się do wydajnej pracy z tymi narzędziami na co dzień. Problem polega na tym, że o tym co jest potrzebne do takiej pracy jest już subiektywne. Moim zdaniem:

Maven:

  • znajmość struktury pom.xml,
  • "ogarnianie" konfiguracji (settings, profiles, sam pom),
  • orientowanie się w cyklu budowania projektu,
  • znajomość popularnych pluginów (np. war, checkstyle, javadoc, release etc.).

Git:

  • DVCS vs VCS,
  • umiejętność pracy z wieloma gałęziami,
  • znajomość podstawowych komend gita (bez "porcelain"),
  • merge, tag czy branch nie jest Ci straszny.
0

Do gita dorzuciłbym też rebase, w tym interaktywny - rebase jest na tyle popularny że raczej też jest standardem. Do tego rzecz jasna umiejętność rozwiązywania konfliktów w narzędziu które ktoś sobie wybierze i ogarnianie DVCS (czyli ktoś nie ucieka z krzykiem jak ma dwa remote'y na przykład).

No ale tutaj znowu jak @samouczek zauważył jest to subiektywne - u mnie w zespole rebase jest podstawą flowu, a do tego wymagane jest dobre rozgraniczenie commitów z czym dużo osób ma problem (czyli nie amendujesz randomowego ostatniego commita z fixem do czegoś, ani nie dajesz nowego commitu z fixem jeśli nie było merge w story/integrację - robisz fixup z właściwym commitem). A jak jest rebase to jeszcze trzeba poznać reset i stasha.

Dodałbym jeszcze że przydatną umiejętnością jest dobre pisanie commit messages - linia wprowadzająca, przerwa, krótki opis problemu i rozwiązania jeśli to ma sens, podlinkowanie do issue trackera gdzieś na końcu.

0

Czyli warto umieć wszystko z tego: https://wiki.eclipse.org/EGit/User_Guide ?

0

Czy jest coś lżejszego do Javy niż Spring Boot do pisania mały serwisów społecznościowych?

1 użytkowników online, w tym zalogowanych: 0, gości: 1