Refaktoryzacja przy pomocy refleksji Czasami zdarza się, że muszę przeprowadzić refaktoryzację, w której Resharper nie może mi pomóc. W moim ostatnim poście opisałem, jak przydatne mogą być wyrażenia regularne przy takiej pracy: Refaktoryzacj przy pomocy wyrażeń regularnych w Visual Studio Tym razem sprawa jest inna i prosta podmiana nie zadziała w tym przypadku.
Sztuka programowania 1391 dni, 6 godzin, 9 minut temu 97 źrodło rozwiń
Po sytuacji z Nemo nikt nie zapuszczał się więcej na nieznane tereny. Stał się on idealnym pretekstem, aby zabraniać młodym pływania, gdzie tylko im się podoba, a w szczególności zbliżania się do powierzchni jeziora. Karpieńce – bo to o nich mowa – to niewielkie rybki zamieszkujące małe, płytkie jezioro w rezerwacie Cuatro Ciénegas na północy Meksyku. Żyły już tam setki lat i nie zamierzały opuszczać tego miejsca. Wszędzie dobrze, ale w domu najlepiej – w domu, czyli pod kamieniem, takim zwykłym. Chyba ...
Jak tworzyć dobry kod? Naucz się refaktoryzować! Jak to Zrobić? Odpowiadam w 59 odcinku.
Sztuka programowania 1745 dni, 6 godzin, 25 minut temu 119 źrodło rozwiń
Przyczyn powstawania brzydkiego kodu jest cała masa. Nie sposób wymienić wszystkich. Stworzyłem tę listę bazując na własnych obserwacjach. Są to elementy powtarzalne. Spotykane w różnych projektach dla różnych klientów. Dziele się nimi z Tobą. Bierz i korzystaj! Oto przyczyny złego kodu specjalnie dla Ciebie!
Sztuka programowania 2152 dni, 21 godzin, 51 minut temu 265 źrodło rozwiń
Posted on : By Grzegorz KotfisCode Druga „recepta na” będzie związana z warunkami if i skracaniem ich zapisu a zarazem poprawy ich czytelności. Na początek przykład nad którym popracujemy:public class MyBusinessClass { AuthorizationService authorizationService = new AuthorizationService(); public void AddOrderToInvoice(Order order, Invoice invoice, UserInfo user) { if (authorizationService.HasAuthorization(order, user, AuthorizationLevel.Read) &...
Sztuka programowania 2360 dni, 5 godzin, 59 minut temu 157 źrodło rozwiń
Witaj, dzisiaj krótki ale myślę, że dość istotny temat jakim jest refaktoryzacja kodu (nieco więcej informacji, a także praktyczny przykład refaktoryzacji znajdziesz -> tutaj Kiedy refktoryzować? Wydaje Ci się, że Twój kod jest czytelny? Wiesz co gdzie jest? Super. Ale czy aby na pewno? Spróbuj znaleźć okre...
Sztuka programowania 2624 dni, 7 godzin, 32 minuty temu 196 źrodło rozwiń
Refaktoryzacja kodu to temat rzeka. Skupię się dzisiaj na poprawie czytelności kodu. Skąd pomysł? Ostatnio w pracy trzeba było dodać do programu nową funkcjonalność. Nic prostszego czyż nie? No niekoniecznie. Gdy zobaczyłem kod (ponad 2 tys. linii kodu) przeraziłem się. Do tego mnóstwo powielania kodu i wszechobecny chaos. Pomieszanie z poplątaniem, ogólnie tragedia. I co z...
Daj się poznać 2017 2806 dni, 3 godziny, 29 minut temu 113 źrodło rozwiń
Siadam do kodu i piszę… i piszę… i piszę… a potem save, commit, push. Done? No, nie bardzo. Jeśli pracujesz w TDD, to dobrze wiesz co to jest: red, green, refactor. REFACTOR!, REFAKTORYZACJA! Czyli moment kiedy po prawie skończonej pracy porządkujemy kod. To sprowadza się do posprzątania śmieci, usunięcia zbędnych zmiennych, metod i ...
Sztuka programowania 2863 dni, 1 godzinę, 32 minuty temu 194 źrodło rozwiń
Formatowanie kodu to jedna z podstawowych czynności jaką możemy zrobić w ramach refaktoryzacji. Jest proste i bezbolesne (pod warunkiem, że w Twoim języku programowania nie programuje się białymi znakami*). Daje szybki efekt w postaci czytelniejszego kodu a to jest bardzo ważne, zresztą pisałem już o tym tutaj. Visual Studio posiada ...
Sztuka programowania 2866 dni, 21 godzin, 4 minuty temu 214 źrodło rozwiń
Nie ma znaczenia czy idziemy do sklepu coś kupić, czy zamawiamy potrzebną nam usługę – wszyscy oczekujemy że finalny produkt będzie wysokiej jakości. Nie ważne czy jest to para nowych butów, czy posiłek w restauracji. Jako programiści, my także powinniśmy troszczyć się o określone standardy, gdy wytwarzamy swoje dzieła – aplikacje. Kod dobrej jakości jest tani w utrzymaniu, i nic tego nie zmieni.
Sztuka programowania 3090 dni, 7 godzin, 56 minut temu 145 źrodło rozwiń
Zakładana funkcjonalność skończona, projekt działa i co teraz? Po studencku, nie ruszamy jak działa? Oczywiście, że nie. Kolejnym etapem projektu jest refaktoryzacja i tym też się dzisiaj zajmiemy!
Daj się poznać 2016 3147 dni, 7 godzin, 23 minuty temu 40 źrodło rozwiń
Zastanawiacie się co to takiego ten tunel kodu? Otóż chodzi tutaj o specyficzny stan świadomości, z dużym skupieniem i widzeniem tunelowym, w który mogą wejść programiści tworzący kod. Można o nim przeczytać np. w książce autorstwa Roberta C. Martina "Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów", choć tam nosi on nazwę strefy lub przepływu (flow). Zgodnie z opisem we wspomnianej książce, stan ów charakteryzuje się tym, że znajdujący się w nim programiści czują się ...
Sztuka programowania 3817 dni, 21 godzin, 1 minutę temu 308 źrodło rozwiń
Trafiłem ostatnio na tekst o nadużywaniu var. Przede wszystkim zafrapowało mnie użycie pojęcia „nadużywanie„, bo sugerowało, że podczas tworzenia kodu należałoby (oprócz wielu reguł) brać jeszcze pod uwagę czy danej konstrukcji nie używa się zbyt często (czyli nadużywa). Tylko jakie w takim razie powinno być kryterium umożliwiające stwierdzenie, czy coś jest nadużyciem, czy nie? Czy jeśli ...
Sztuka programowania 3860 dni, 16 godzin, 38 minut temu 345 źrodło rozwiń
Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.
Z pewnością sporo osób zetknęło się z wzorcem MVVM (Mode View ViewModel), należącym do wzorców prezentacji (takich jak MVC lub MVP – z którego nota bene się on wywodzi), albo o nim słyszało. Wykorzystuje się go w oprogramowaniu wykorzystującym Windows Presentation Fundation (WPF). Nie zamierzam się tutaj wgłębiać w meandry tego wzorca. Chciałem się tylko odnieść do pewnej jego (nomen omen) właściwości, dotyczącej sposobu powiadamiania widoku, że właściwość modelu uległa zmianie. Dokonuje się tego ...
Sztuka programowania 3964 dni, 23 godziny, 10 minut temu 170 źrodło rozwiń
Zgodnie z obietnicą wypada przedstawić drugi z rezultatów inspiracji wynikłej ze swoistego dialogu (diaBlogu ;) ) pomiędzy Krzysztofem Morcinkiem a mną. Tym razem skupię się na następującym fragmencie jego wpisu ...
Sztuka programowania 3997 dni, 5 godzin, 14 minut temu 166 źrodło rozwiń
Swojego czasu zachwalałem wytrawność kodu i zapraszałem do jego degustacji. Pocieszające jest, że nikt z tego powodu nie był zdegustowany, a wręcz przeciwnie – niektórych zainspirowałem. Nie ukrywam, że lubię być inspiracją, a już uwielbiam, kiedy wynikiem tejże inspiracji jest z kolei zainspirowanie mnie. Nic tak bowiem nie pomaga poszerzaniu wiedzy, jak wymiana poglądów. W przypadku, który mam zamiar omówić, moja inspiracja jest podwójna. Na razie jednak skupię się na jednym jej aspekcie. Krzysztof Mor...
Sztuka programowania 3999 dni, 1 godzinę, 2 minuty temu 239 źrodło rozwiń
Zapewne każdy profesjonalny programista zna zasadę DRY, której nazwa jest zarazem skrótem jej treści Don’t Repeat Yourself czyli zalecenia Nie Powtarzaj Się. Najczęściej stosuje się ją, by przeciwdziałać powielaniu kodu wykonującemu tę samą czynność (czy to przez jego niepotrzebne, ponowne napisanie czy też przez zwykłe przeklejanie). To co ciekawego w tej regule, to fakt, że w swej treści skierowana jest ona do ...
Sztuka programowania 4061 dni, 23 godziny, 22 minuty temu 210 źrodło rozwiń
Resharper to świetne narzędzie ułatwiające życie programistom pracującym z Visual Studio. Część jego bogatej funkcjonalności stanowią ...
W poprzednim wpisie przedstawiłem podstawy macierzy DSM. Dzisiaj postaram się wyjaśnić, jakie znaczenie ma to w praktyce. Sam fakt, że macierz pokazuje referencje między różnymi elementami systemu nie jest zbyt ciekawy. Pierwszą własność, jaką w łatwy sposób możemy odczytać z DSM jest spójność (cohesion). Dokładna wartość spójności zależy od konkretnej metryki. Ogólnie pisząc, wysoka spójność w systemie oznacza, że elementy w nim są bardzo od siebie zależne. Przyjrzyjmy się następującemu przykładowi (źr...
Sztuka programowania 4258 dni, 9 godzin, 36 minut temu 101 źrodło rozwiń