Przemyślenia o code review, czym jest, po co je robić i na co warto zwrócić uwagę plus trochę statystyk i dobrych rad. Bazując na własnych doświadczeniach oraz badaniach przeprowadzonych pośród developerów w Microsofcie.
Sztuka programowania 1969 dni, 12 godzin, 44 minuty temu 136 źrodło rozwiń
Code reviews This is a series about great code reviews, that I either gave or received. Code reviews are crucial for code quality and I strongly recommend you to have it in your company. Two heads are always better than one, especially in an atmosphere of cooperation and mutual learning. I have pleasure and luck to work in such a team and I have to admit, that code review discussions are always appreciated. Without further due, let’s get to it. Have a good read! 🙂Code review #3 – use threads like Mr F...
Okazuje się, że niewłaścieiw użycie Dappera i typu varchar może mocno spowolnić Twoje zapytanie. Opisałem na przykładzie dlaczego tak jest. Zapraszam do lektury:)
Sztuka programowania 2063 dni, 12 godzin, 50 minut temu 101 źrodło rozwiń
Dzisiaj chciałbym podzielić się zestawem reguł, który w różnych projektach stosuję od lat. Pod to stworzyłem repozytorium https://github.com/kmorcinek/dotnet-tools-settings Korzystam ze StyleCopa od ładnych kilku lat. Jest to niezbędne narzędzie gdy stosuje się Code Review. Po prostu szkoda czasu i ludzkiej cierpliwości, żeby ręcznie wytykać komuś coś, co może wychwycić narzędzie.
O code review napisano już całkiem sporo. W internecie można znaleźć dokładne opisy jak powinny wyglądać, jakie dają efekty, czy ile kodu sprawdzać na raz. Dlatego nie będę dokładnie analizować tych aspektów. Zamiast tego krótko opiszę najważniejsze korzyści i kilka przydatnych technik na podstawie własnych doświadczeń. Z code review korzystałem już w wielu projektach i zawsze miało to pozytywny wpływ na jakość kodu. Moim zdaniem code review powinno być elementem każdego poważnego projektu. Jakie są n...
Sztuka programowania 2352 dni, 7 godzin, 30 minut temu 124 źrodło rozwiń
Czy automatyzując analizę kodu do maksimum, ciągle potrzebujemy przeprowadzać Code Review? Czy czynnik ludzki będzie jeszcze wtedy potrzebny? Czy nie jest to moment kiedy fundamenty przeglądu kodu nie mają racji bytu? W czwartym odcinku Dev:Cast rozmawiamy o sensowności procesu Code Review. Szukamy elementów, które ciężko będzie zastąpić nawet najbardziej wyrafinowanymi automatami. Zastanawiamy się i rozmawiamy o wymianie wiedzy poprzez Code Review.
Sztuka programowania 2432 dni, 23 godziny, 33 minuty temu 33 źrodło rozwiń
Dzisiejszym tematem jest dociekliwość programisty. Cecha, niezależna od technologii, nakierowująca między innymi programistów, na odpowiednie tory. Pomagająca poznać prawdziwe potrzeby klienta, zdobyć wiedzę, czy ograniczyć ilość pracy potrzebnej do osiągnięcia celu. Jest nie do przecenienia w codziennej pracy i poza nią. Dlaczego pytanie „Dlaczego?” jest aż tak istotne? Właśnie na to pytanie postaram się dziś odpowiedzieć.
Sztuka programowania 2489 dni, 39 minut temu 135 źrodło rozwiń
Przedstawiamy wam 18 odcinek podcastu Ostra Piła w którym to rozwodzimy się nad code-review. Porozmawiamy sobie na takie tematy jak to jak robić dobrze code review oraz czy każdy powinien je robić czy może tylko seniorzy powinni dostąpić tego zaszczytu? Dwugodzinne code-review dla waszej programistycznej przyjemności. Miłego słuchania.
Code Review 10 linii kodu to potencjalne miejsce na 10 uchybień, natomiast 500 linii kodu wygląda OK!? Kilka słów o tym jak usprawnić Code Review.
Sztuka programowania 2524 dni, 11 godzin, 55 minut temu 160 źrodło rozwiń
~ MJ Code review, czyli przeglądanie kodu innego programisty w zespole, uważam za jedną z najlepszych technik tworzenia dobrego kodu i osobistego rozwoju – niezależnie od tego, czy ktoś przegląda moją pracę, czy ja jego. Pamiętam jak dziś swoje pierwsze code review. Ukończyłem pisanie jednego dosyć sporego modułu. Przyzwyczajony do tego, że zawsze po prostu commitowałem swój kod, który działał, myślałem, że jestem prawdziwym artystą, a mój kod jest perfekcyjny. Och, jakże byłem głupi. Review zakończyło...
Sztuka programowania 2905 dni, 10 godzin, 31 minut temu 256 źrodło rozwiń
Code review is an important part of development process. Various teams use different styles from “over the shoulder” to the ones based on tools like Gerrit. However, more and more Git servers (like GitLab) give merge request functionality, which makes incorporating code review process easier.
Sztuka programowania 3008 dni, 12 godzin, 18 minut temu 213 źrodło rozwiń
Szczęśliwy, trzynasty, odcinek to chwilowy odpoczynek od technikaliów. Tym razem wraz z Grzegorzem Rycajem serwujemy Wam dywagacje na popularny temat: agile. Grzegorz od wielu lat programuje i kieruje zespołami programistów. Prawdopodobnie wielu z Was niejednokrotnie miało okazję oglądać go na scenie, gdyż regularnie występuje na różnych eventach. MVP w kategorii Visual Studio ALM. 40-minutową rozmowę rozpoczynamy od historii agile. Nie zagłębiamy się jednak w teorię...
One can ask why we need to think of CR practices at all. Review of code written by another team member can be done without any preparation or introduction. It is true, but there are some aspects that we need to think of. In my opinion, we especially need to support the following values:Quality – Code Review should be done in the same way, no matter if you are hurrying, bored or it’s your 3rd hour of doing CR,Motivation – team has to see value in Code Review, and this value shouldn’t be lost because of ne...
Sztuka programowania 3604 dni, 4 godziny, 42 minuty temu 188 źrodło rozwiń
Ostatnio na facebookowym profilu .NET Developers Poland odbyła się ciekawa, choć krótka dyskusja na temat podejścia do przeglądu kodu (po polsku brzmi to okropnie, więc dalej będę używał code review). Przypomniała mi ona, że pewna dobra praktyka, bez której chyba nie mógłbym już pracować, nie jest wcale tak powszechnie stosowana. O niej chciałbym napisać i zachęcić wszystkich do wdrożenia jej u siebie w zespole. Na-ten-tychmiast! Chodzi mi o peer code review, czyli...
Dzisiaj coś o Code Review, czyli przeglądaniu własnego kodu przez innego członka zespołu. Jak to działa? Wyjaśnię to na podstawie Scrum’a. Rozpoczyna się sprint, każdy backlog item ma w sobie różne taski. Każdy task ma wyestymowany czas potrzebny na wykonanie zadania, np. Handle operation documentsCreate database structure 4hPrepare model changes 2hCreate data structures 4hCode Review 2hRework 3h Jak widać, również Code Review oraz Rework jest wyestymowany. Jak wygląda to w praktyce? Robimy pełen dev...
Sztuka programowania 3905 dni, 11 godzin, 39 minut temu 193 źrodło rozwiń
Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.
Dzisiejszym wpisem odbiegnę trochę od typowego dla mojego bloga technicznego bełkotu, zamiast tego skupiając się dziś bardziej na zagadnieniu związanym z samym procesem (cyklem?) wytwarzania oprogramowania. W większości firm tworzących soft, w której przykłada się wagę do jakości tworzonego oprogramowania prowadzona jest praktyka Code-Review. W mojej osobistej karierze zawodowej, tak na prawdę zetknąłem się z tym zagadnieniem dopiero odkąd rozpocząłem pracę w Objectivity, a jako że pracuję już tutaj pra...
Sztuka programowania 3943 dni, 10 godzin, 6 minut temu 289 źrodło rozwiń
Przychodzi baba do lekarza. Mówi “panie doktorze, byłam już u doktora X i on zalecił mi Y“. Na co lekarz: “a-HA! znam X, to konował, nic nie umie, tak naprawdę to dopiero JA pani powiem co trzeba zrobić“. Baba jest od tej pory zakochana w swoim nowym doktorze, nie mając tak naprawdę pojęcia czy faktycznie jest tak dobry jak twierdzi. Chodzi po sąsiadac...
Już kiedyś pisałem jak obsługiwać prawidłowe wyjątki ale dzisiaj jeszcze raz chciałbym rozwinąć temat. Zacznijmy od:privatestring GetData(int id) { string result=null; try { result = _service.GetData(id); } catch(Exception e) { } return result; } Jest to oczywiście skrajnie złe rozwiązanie ponieważ wszystko ignorujemy. Na szczęście programiści rzadko popełniają powyższy błąd. Niestety dużo częściej popełnianym błędem jest:privatestring GetData(int id) { stri...
Sztuka programowania 4356 dni, 19 godzin, 3 minuty temu 169 źrodło rozwiń
Rozważmy, następujący kawałek kodu:struct Color { publicstaticexplicitoperator Color(short value) { // jakas tam konwersja - nieistotne dla przykladureturnnew Color {R = value}; } publicshort R, G, B; } Co w nim nie tak? Operatory nie są wspierane przez wszystkie języki. Podczas kompilacji wszystkie operatory zamieniane są na zwykłe metody. Na przykład operator rzutowania implicit zostanie zamieniony na op_Explicit oraz oznaczony przez CLR specjalnym atrybutem specialname:.class seque...
Sztuka programowania 4447 dni, 9 godzin, 31 minut temu 146 źrodło rozwiń