Tag: Clean Code

Okazjonalne (regularne) czyszczenie kodu Resharperem

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…

Code Review a spacje i inne pierdoły

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ś…

Uciekaj szybko z metody i usuwaj „else”

Chciałem w sumie tylko podlinkować: What really grind my gears #1 – IIIIIIIIIIIIIIIIF! by Oskar Dudycz. TL;DR, taki kod: zamieniamy na:

Reguła DRY – tip #1

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…

Przykład fajnej Extension Method

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ę…

Jak wygląda poprawna implementacja enuma

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…

Logowanie lepsze niż TODO oraz HACK

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ć,…

Jak nie komentować kodu

Kilka tldr; Kod sam się komentuje (poprzez odpowiednie nazwy metod i klas, przestrzeganie SRP – klas metody będą niewielkie, korzystanie z ogólnie znanych wzorców) Jeśli powyższe nie wystarcza – ktoś kto nie potrafi zrobić powyższego, wyprodukuje komentarze jeszcze gorszej jakości Jeśli już komentować to…

Single Exit Point

Najprościej definiując problem: Czy mamy tylko jeden return z metody, czy też mamy ich kilka w różnych miejscach. Mówię też o metodach, które nie zwracają wartości. Metodę void też można skończyć wcześniej: Najpierw usłyszałem, że to dobre podejście Pamiętam z podstaw programowania w jakimś…

Code review – DateTime, TimeStamp

Kod: Ustawiamy nagłówki Http aby cachować obrazek na 1 dzień. DateTime.Now.AddMinutes(60 * 24) Można by powiedzieć, że nawet fajnie, bo sam często korzystam z mnożenia (w językach niskiego poziomu jest to konieczność). W .NET wykorzystuję to najczęściej, gdy chodzi o ustawianie timera w milisekundach…

Kilka przykładów czytelności kodu

Temat czytelności kodu jest bardzo dyskusyjny. Mam na myśli to, że jest tutaj wiele „zależy”. Funkcję, którą dziś opisuję, popełniłem kilka dni temu, nie myśląć specjalnie o tym, że będą ją tutaj omawiał. Spójrz najpierw na oryginalny kod poniżej krytycznym okiem, a później zapraszam…

Zasada skautów (97 rzeczy)

Polecam tekst Zasada skautów (The Boy Scout Rule by Uncle Bob) z serwisu 97 Rzeczy o których każdy programista wiedzieć powinien. Polecam przeczytać wszystko co tam jest. Następnie te, które nie zostały jeszcze przetłumaczone – przeczytać w oryginale i przetłumaczyć! Wracając do tytułowej zasady….