Kontynuujemy nagrywanie i montowanie screencastów. Dzisiaj odcinek nr 4. Nabieramy tempa i regularności 🙂 Rozwinęliśmy przykład z ostatniego odcinka (Jak tworzyć dedykowane wrappery do prostych typów) i w praktyce przenieśliśmy funkcjonalność ze statycznych Utilsów do właściwego typu EthereumAddress. Przykładem jest address w Ethereum (zmienione… Continue Reading „Przykład na zamykanie rozproszonej funkcjonalności do właściwego typu – screencast”
Wrzucamy już 3 odcinek naszej serii. Mamy plany i pomysły na kolejne. Jeżeli Tobie nasuwa się jakiś pomysł, który chciałbyś abyśmy poruszyli – podziel się nim w komentarzu. Inspiracją był kod który musiałem napisać w pracy. Ten problem nie dotyczy tylko mnie. Najpierw powstał… Continue Reading „Jak tworzyć dedykowane wrappery do prostych typów – screencast”
Kolejne spotkanie z Adrianem. Na dzisiaj przyniósł kod, który napisał kiedyś na zadaniu rekrutacyjnym. Jedna przykładowa klasa nie stosuje się do Single Responsibility Principle (obiecany ostatnio temat). Przechodzimy przez kilka refactoringów i dyskusję kiedy warto wydzielać osobne serwisy i co w praktyce znaczy SRP… Continue Reading „SRP – Zasada Pojedynczej Odpowiedzialności w praktyce – screencast”
Powiedzmy, że mamy projekt, w którym wcześniej nie znano Resharpera. Otwierając taki kod „wszystko świeci” na różne kolory sugerując, że mamy w kodzie wiele problemów. Moje doświadczenie programistyczne mówi mi, że warto wysprzątać te miejsca, ponieważ na wstępnie z automatu poprawi się nam wiele… Continue Reading „Okazjonalne (regularne) czyszczenie kodu Resharperem”
Chodzi o taką sprawę: Te ciemno zielone to kilka dodatkowych spacji, które się pojawiło (a nie było ich wcześniej). Inne to: dodatkowo zbędna, podwójna linia, brak pustej linii, brak spacji w parametrach lub zbyt duża ich liczba, itp, itd. Przypadkowo podczas pracy nad kodem gdzieś… Continue Reading „Code Review a spacje i inne pierdoły”
Chciałem w sumie tylko podlinkować: What really grind my gears #1 – IIIIIIIIIIIIIIIIF! by Oskar Dudycz. TL;DR, taki kod: This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor… Continue Reading „Uciekaj szybko z metody i usuwaj „else””
DRY – Don’t Repeat Yourself. Łamanie tej reguły ma tyle twarzy, że postanowiłem każdy mały przykład wrzucać. Gorszy kod: Lepszy kod: Wiem że nie powinno się sklejać ścieżki w ten sposób tylko użyć Path.Combine(). Przykład z kodu. Po komentarzu @marfusios2 zdałem sobie sprawę, że… Continue Reading „Reguła DRY – tip #1”
Kod, który mnie natchnął: Natchnął bo zmieniłem na: To było słabe… gdybym sprawdzał po kimś takie coś, to bym może zauważył, ale sam to zrobiłem i nie zauważyłem: modyfikowanie kolekcji po której się iteruje, leci wyjątek. Code Review – wiele oczu patrzy – naprawdę… Continue Reading „Przykład fajnej Extension Method”
Tak IMHO powinien wyglądać dobrze napisany enum: Nie enumerujemy od zera „0” jest domyślną wartością dla enuma (bo pod spodem musi być typ całkowity). Dlatego chcemy aby nasze znaczące wartości zaczynały się od jedynki. Wtedy prościej wyśledzić w której ścieżce wykonania jest błąd, spowodowany… Continue Reading „Jak wygląda poprawna implementacja enuma”
Gdy robię jakiegoś haka to wolę to opisać. Kiedyś wspomniałem o korzystaniu z TODO w Przesunięcie dobrych intencji na później. Wymyśliłem dziś coś podobnego, traktujcie to jako „pomysł”, bo jeszcze nie wiem czy się sprawdza na dłuższą metę. Zalogowanie pozostawionego problemu Dzisiaj chciałem napisać,… Continue Reading „Logowanie lepsze niż TODO oraz HACK”