Przegląd kodu współprogramistów [Gitlab] [Phpstorm]

Przegląd kodu współprogramistów [Gitlab] [Phpstorm]
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0

Na dzień dzisiejszy przeglądam kod współpracowników w momencie wykonywania pull'a. Najwygodniej analizować mi kod w moim IDE, równolegle mogę kod zobaczyć w działaniu.
Do kodu mam zawsze dużo większych i mniejszych uwag, dlatego chciałbym dodawać komentarze per line, i mogę to zrobić ale muszę przeskakiwać do webowego interfejsu gitlab, szukać commita, pliku i konkretnej linii. Da się do jakoś wygodniej robić?

Inny case to pracuje z kodem i znajduje babola, fajnie by mieć jakieś narzędzie które pozwoli szybko przeskoczyć do commita, który tego babola popełnił. Coś jako włączenie notacji, sprawdzenie autora i commita, i możliwość dodania komentarza.

edytowany 1x, ostatnio: eBizo
mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

No da się, po co szukasz commita? Przecież patrzy się na cały pr ;)


It's All About the Game.
EB
No ale chce zaopiniować konkretny fragment, nie całego pr.
mr_jaro
@eBizo: opiniujesz linijkę kodu którą widzisz w pr. Jaki jest sens szukać konkretnego commita? U mnie byś się naszukał bo potrafię w jednym pr zrobić i kilkadziesiąt commitów, gdzie sporo elementów zmienia się z commita na commit aż w końcu powstaje wersja mnie zadowalająca. Jaki jest więc sens oglądać i komentować wczesną wersję, skoro się i tak różni od ostatecznej? Zresztą w wielu firmach i tak ostatecznie pr ląduje jako połączony jeden commit w głównym branchu.
danek
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Poznań
  • Postów:797
0

A chcesz, żeby ktoś tego babola całkowicie usunął z historii, czy po prostu poprawił?


Spring? Ja tam wole mieć kontrole nad kodem ᕙ(ꔢ)ᕗ
Haste - mała biblioteka do testów z czasem.
EB
Hmm.. Wydaje mi się, że to nie ma związku z pytaniem o sprawny review code.. Kazać wywalić zajmie mi tyle samo co zwrócenie uwagi na słaby kod :)
danek
ale dlaczego chcesz przeskakiwać do commita w którym jest błąd?
EB
Aby móc umieścić komentarz pod konkretną zmianą, a w gitlab jest to w podglądzie commita dostępne.
mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
1

Ja robiąc cr komentuje konkretne linie w pr po czym pr odrzucam. Jak osoba go robiąca poprawi to ma zrobić nowy pr, tym samym wszelkie komentarze zostają na repo i jest historia wszystkiego.


It's All About the Game.
EB
Tylko, że mi chodzi o to, że ja kod przeglądam przez Storma ponieważ nie umiem patrzeć na kod w Gitlab. Nawet jak przełączane na "inline" to dla mnie jest za wąsko, nie ma kontekstu kodu (wycinki), kolorowanie, brak statycznej analizy kodu. Najlepiej mi się przegląda podgląd w IDE.
mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
2

@eBizo: odpisuj na temat wątku w postach a nie komentarzach. W gitlab podgląd zmian jest tak samo dostepny w pr - fakt tam to się nazywa mr a nie pr ale na jedno wychodzi.

Jeśli nie potrafisz się odnaleźć w mr widocznym w gitlabie to są 2 wyjaśnienia:

  • dajecie ludziom zbyt duże zadania przez co masz setki nowych linii kodu
  • nie znasz projektu

It's All About the Game.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
0
eBizo napisał(a):

Do kodu mam zawsze dużo większych i mniejszych uwag, dlatego chciałbym dodawać komentarze per line, i mogę to zrobić ale muszę przeskakiwać do webowego interfejsu gitlab, szukać commita, pliku i konkretnej linii. Da się do jakoś wygodniej robić?

W Gitlab nie trzeba skakać do konkretnego commita, widać przecież wszystkie zmienione linie w requście.

Inny case to pracuje z kodem i znajduje babola, fajnie by mieć jakieś narzędzie które pozwoli szybko przeskoczyć do commita, który tego babola popełnił.

To jest wbudowane w gita i nazywa się blame.

Ogólnie, to może poszukaj wtyczki do swojego IDE integrującej się z GitLabem i pozwalającą na robienie review.

EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0
somekind napisał(a):
eBizo napisał(a):

Do kodu mam zawsze dużo większych i mniejszych uwag, dlatego chciałbym dodawać komentarze per line, i mogę to zrobić ale muszę przeskakiwać do webowego interfejsu gitlab, szukać commita, pliku i konkretnej linii. Da się do jakoś wygodniej robić?

W Gitlab nie trzeba skakać do konkretnego commita, widać przecież wszystkie zmienione linie w requście.

Inny case to pracuje z kodem i znajduje babola, fajnie by mieć jakieś narzędzie które pozwoli szybko przeskoczyć do commita, który tego babola popełnił.

To jest wbudowane w gita i nazywa się blame.

Ogólnie, to może poszukaj wtyczki do swojego IDE integrującej się z GitLabem i pozwalającą na robienie review.

Ciekawa funkcja choć pokrywa się z funkcjonalnością z annotate. W blame pokazuje dla zaznaczonej linii z prawej tekstowo commit (z numerem issue), autora itp., natomiast przy annotate pokazuję przy wszystkich liniach, z lewej strony tylko autora, ale którego po kliknięciu wyświetla podgląd całego commita (wszystkie pliki, opis z issue). Przynajmniej w storm.

No tak, właśnie mi chodzi o jakieś rozwiązanie jak plugin, bo nie widzę innej opcji. W najprostszej opcji mógłby po kliknięciu w daną linijkę w IDE przechodzić do gitlab.com pod adres https://gitlab.com/projekt/web/commit/id_commita#id_pliku_nr_linijki co otwiera pole do wpisania komentarza. Po prostu może ktoś coś zna, niekonieczne do Storm i Gitlab ale np. Github - wtedy byłoby dla mnie jasne, że jest sens szukania takich pluginów.

mr_jaro napisał(a):

@eBizo: odpisuj na temat wątku w postach a nie komentarzach. W gitlab podgląd zmian jest tak samo dostepny w pr - fakt tam to się nazywa mr a nie pr ale na jedno wychodzi.

Jeśli nie potrafisz się odnaleźć w mr widocznym w gitlabie to są 2 wyjaśnienia:

  • dajecie ludziom zbyt duże zadania przez co masz setki nowych linii kodu
  • nie znasz projektu

Jest funkcja to korzystam.

Nie chodzi o setki linii kodu, nie chodzi o znajomość projektu.
Chodzi mi o warstwę WIZUALNĄ podglądu kodu i MOJĄ WYGODĘ, a nie sam kod.

edytowany 2x, ostatnio: eBizo
danek
annotate to nakładka na blame ;)
EB
No i spoko nakładka ;) gdybym nie miał długich nazw contributorów w projekcie to pewnie bym sobie zostawił włączone na stałe :D
mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

Nadal nie odpowiedziałeś po kiego grzyba ci informacja o tym z jakiego commita pochodzi ta linia a nie z jakiego pull requesta/merge requesta ?


It's All About the Game.
somekind
Mnie się wydaje, że on po prostu nie odróżnia. :)
mr_jaro
@somekind: i taki ktoś kto nie odróżnia miałby robić komukolwiek cr? To niech poda gdzie pracuje, dopisze do listy firm z którymi nie chce mieć nic wspólnego.
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0

A może tak w Twojej nieomylności weźmiesz pod uwagę, że jednak może źle zrozumiałeś pytanie?

Po pierwsze pisałem o tym, że przeglądam część zmian w uproszczony sposób tj. pozwalam na bezpośrednie pushe na nasz główny dev branch. W tym konkretnym projekcie mogę sobie pozwolić na takie coś, bo pracuje na nim praktycznie sam i są czasem tylko małe wrzutki kodu drugiej osoby, która jest mało techniczna. W momencie gdy wrzuca zmiany, to widzę to w moim IDE (mam plugin, który mnie o tym informuje wcześniej niż przed moim pushem - poprzez auto fetch). W tym momencie, bez wyłączania IDE chce przeglądać ten kod czyli konkretny commit(y) i to robię, ale żeby skomentować jakąś linię kodu, muszę otworzyć w drugiej karcie gitlab. Odnalezienie commita, w którym mogę dodać komentarz, zajmuje te kilkanaście sekund, ponieważ w phpstorm nie ma żadnego "skocz do", jest tylko numer commita i jego treść z numerem issue, ale nic z tych rzeczy nie jest klikane (co jest dla mnie oczywiste).

Jeżeli chodzi o review code zgodny ze sztuką, czyli za pomocą MR to TEŻ CHĘTNIE posłucham rad bardziej doświadczonych, jak zrobić to przy pomocy IDE, a nie podglądu w interfejsie webowym gitlaba. Sam częściowo znalazłem mniej więcej to czego szukam tutaj https://blog.jetbrains.com/idea/2018/10/intellij-idea-2018-3-eap-github-pull-requests-and-more/ ale to widać po dacie, że to świeża funkcjonalność i dotyczy GITHUB, a nie GITLAB.

Skoro nie ma, albo nie znajduje rozwiązania to poruszyłem temat, bo być może to tylko moja osobista preferencja, że przegląda mi się kod lepiej w IDE, a normalnie robi się to jednak przez interfejs gitlaba. Liczyłem na konstruktywną dyskusję.

mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
1
eBizo napisał(a):

Po pierwsze pisałem o tym, że przeglądam część zmian w uproszczony sposób tj. pozwalam na bezpośrednie pushe na nasz główny dev branch.

I w tym momencie powinno się przerwać czytanie dalej. To jest januszostwo i właśnie tak tracisz najlepszą możliwość dokumentowania zmian na repo.


It's All About the Game.
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0

Rozumiem, że nawet przy jednoosobowym projekcie bawisz się w MR?

W każdym razie jak Cię to boli to zakryj oczy, daruj sobie komentarz i przejdź do drugiego i trzeciego akapitu gdzie już pytam o konkrety.

mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

Oczywiście, że tak. Nawet w projektach prywatnych nigdy nie pracuje na dev a tym bardziej na master.


It's All About the Game.
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0

No to kiedyś spróbuje czy widzę korzyść, póki co przy jednoosobowym projekcie issue + kompletny push po zakończeniu zmiany/funkcji z locala w moim odczuciu był wystarczający. Nie mówiłem o masterze, to jest akurat dla mnie oczywiste, zwłaszcza przy pipelines/auto deployment.

Więc wracając do tematu właściwego.. Da się w IDE? Ktoś przegląda MR w IDE?

edytowany 2x, ostatnio: eBizo
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
0

Istnieje IDE, w którym można (VS), ale to Cię nie interesuje, więc pozostaje szukać na forach pomocy WebStorma.
No i też nie ma się co dziwić, że przede wszystkim wspierany jest GitHub jako ten popularniejszy.

EB
Dla OpenSource na pewno, ale jestem ciekaw jak przy komercyjnych, bo Gitlab ma darmowy pakiet, który wcale nie jest słaby.
MA
  • Rejestracja:prawie 17 lat
  • Ostatnio:5 dni
  • Postów:644
1

Jest jeszcze https://www.jetbrains.com/upsource/ ale nie korzystałem

piotrpo
Ja korzystałem i nie jest to narzędzie bez wad. Głównym problemem była stabilność. Może to mój brak umiejętności i czasu, żeby je prawidłowo skonfigurować.
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0
Markuz napisał(a):

Jest jeszcze https://www.jetbrains.com/upsource/ ale nie korzystałem

"Review changes from IDE - Participate in discussions and manage your reviews without leaving the comfort of your IDE."

No jest dokładnie to czego szukałem, dzięki!

Nie sądziłem, że będzie potrzebny osobny soft, ale jak dobrze czytam to jest darmowy do 10 osób więc idealnie :)

Tasmanian Devil
Hej! Twój post prawdopodobnie zawiera niesformatowany kod. Użyj znaczników ``` aby oznaczyć, co jest kodem, będzie łatwiej czytać. (jestem botem, ta akcja została wykonana automatycznie, prawdopodobieństwo 0.99627614)
somekind
@Ktos: ten Twój bot chyba obalił flachę cydru. ;)
Ktos
@somekind: Do licha, nauczył się otwierać lodówkę...
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)