Poprzedni wpis nt. biblioteki Dapper był tylko małą zachętą do sprawdzenia tej biblioteki, przetestowania jej i sposobu jej integracji w Twoim kodziku. Tutaj poruszę temat trochę szerzej, z punktu widzenia kategorii ORMów. Kodziku nie będzie 😉
Strona głównaUżytkownik
patrykkubiela | użytkownik
Testy mutacyjne. Szybki start i biblioteka Stryker w .NET i dotnetcore. Pierwsze uruchomienie, szybkie spojrzenie na rezultaty testów.
Czasem chcemy wiedzieć jakie mamy pokrycie testami naszego kodu. Chcemy znać wskaźnik Code Coverage. O ile jestem przeciwny ślepemu zapatrywaniu się w liczby, bo przecież pokrycie 100% kodu testami nic nie mówi, o tyle podoba mi się idea pokazywania które fragmenty kodu tymi testami są pokryte. ...
Komunikacja, a wskaźnik Bus Factor. No właśnie, czy to się łączy?
Stało się, zakończyłem właśnie konkurs na blogu, związany z całą serią postów dotyczących zasad SOLID i w ramach tego postu, publikuję odpowiedzi/komentarze które były warunkiem udziału w konkursie. Publikuję również moje przemyślenia względem tych właśnie komentarzy. Myślę, że to będ...
Sztuka programowania 2039 dni, 4 godziny, 51 minut temu 74 źrodło rozwiń
Robert C. Martin (Uncle Bob) w swoim artykule nt. Dependency Inversion Principle, skondensowanej wersji rozdziału „DIP: The Dependency-Inversion Principle” ze swojej książki pt. Agile Software Development, Principles, Patterns and Practices, opisuje „zły” design aplikacji i wprowadza pojęcie „kruchości” aplikacji. Mianowicie, kruchość aplikacji to m.in. tendencja aplikacji do psucia się w wielu miejscach, w momencie jednej małej zmiany w miejscu zupełnie nie powiązanym do miejsca gdzie zaszła zmiana. Te...
Sztuka programowania 2058 dni, 5 godzin, 3 minuty temu 118 źrodło rozwiń
Dzisiaj, bez oficjalnej definicji. Jedynie wspomnę o tym, o czym – w kontekście Interface Segregation Principle – należy wspomnieć. Zasadniczo ISP mówi o „rozczłonkowaniu” dużych, wielozadaniowych kontraktów i interfejsów na mniejsze, posiadające jedną konkretną odpowiedzialność. Dzięki czemu, każdy element który konsumuje taki interfejs, ma dostęp tylko do określonej funkcjonalnośći. Intencją ISP jest utrzymanie systemu luźnych powiązań między obiektami, ułatwienie konserwacji systemu, testowania, czy ...
Sztuka programowania 2093 dni, 4 godziny, 54 minuty temu 138 źrodło rozwiń
Ostatnio w pracy, został poruszony temat ogólnoświatowej recesji wieszczonej od jakiegoś czasu i jej wpływu na naszą, stricte IT, branżę. Sprawa zainteresowała mnie na tyle, że postanowiłem napisać coś w tym temacie. Jak wiadomo, ogólnoświatowa gospodarka, od czasu do czasu przeżywa „załamanie”. Okres od jednego spadku do drugiego nie zawsze jest taki sam, ale wiemy już (jako ludzkość) że dzieje się to, mniej więcej, w okresach 30-to letnich, a najbliższa nam następna zapaść ekonomiczna (dla średniej dł...
Na początek, jak zwykle, odrobina teorii. Reguła Liskov brzmi: Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów. Jak podaje Wikipedia, zasada ta została sformułowana po raz pierwszy przez Barbarę Liskov i Jannette Wing we wspólnej pracy pt. „A Behavioral Notion of Subtyping„, zaprezentowana przez Panią Liskov w przemówieniu pt. „Data Abstraction and Hierarchy„, a s...
Sztuka programowania 2129 dni, 3 godziny, 30 minut temu 134 źrodło rozwiń
Reguła Open Close Principle mówi o tym, że klasa powinna być otwarta na rozszerzenia i jednocześnie zamknięta na modyfikacje. Zgodnie z zasadą tego cyklu – „Nie SOLID-nie„, przedstawiam jak może wyglądać klasa napisana wbrew tej regule. Przykład Skoro ostatnim razem, w przypadku reguły SRP, posłużyłem się przykładową klasą MessageProcessor, tym razem posł...
Sztuka programowania 2145 dni, 3 godziny, 30 minut temu 142 źrodło rozwiń
Wikipedia podaje, że SOLID to ukuty przez Roberta C. Martina mnemonik. Wystarczy jednak zapamiętać, że jest to zbiór zasad jakimi powinien się kierować programista, podczas pisania kodu. Zwłaszcza w paradygmacie programowania obiektowego. Dużo się pokazuje jak na prawdę powinien wyglądać kod spełniający kryteria zawarte w poszczególnych regułach SOLIDa, natomiast niewiele się pokazuje przypadków niepoprawnego zastosowania tych reguł, lub nie zastosowania ich w ogóle. Właśnie to będzie celem tego cyklu....
Sztuka programowania 2152 dni, 1 godzinę, 49 minut temu 186 źrodło rozwiń
Tym razem chciałbym poruszyć temat dbałości o jakość kodu, nadmiernej dbałości. Myślę, że nie raz spotkaliście się z tym zjawiskiem lub sami byliście jego przyczyną (ja niestety byłem). Nie oszukujmy się, my programiści, czerpiemy przyjemność z pisania kodu, tworzenia czegoś z niczego i dopieszczania swoich rozwiazań do granic możliwości. Do tego okazujemy się super „zdolniachami” kiedy przychodzi do argumentacji dlaczego praca trwa dłużej niż powinna, a może bardziej usprawiedliwień. Prawda?
Trzeci post nt. Continous Integration. Omówienie i krótki wstęp do inicjalizacji docker swarm, w celu utworzenia środowiska dla testów build serwerów.Od czasu ostatniego wpisu dotyczącego Continous Integration, Continous Delivery, Continous Deployment, w kontekście testu build serwerów, minęło kilka miesięcy. W tym czasie popełniłem kilka mniej wymagających (ale nie mniej znaczących!) postów. Nabrałem troc...
Od kiedy tylko pamiętam, używam systemu Windows. Był zainstalowany na moim pierwszym komputerze, który dostałem od rodziców („do nauki mamo” ;-)), jak również na każdej maszynie od kiedy tylko rozpocząłem swoją karierę jako programista. Oczywiście, były eksperymenty z Linuksem (Mandriva/Mandrake, jakiś Debian, czy potem Ubuntu), ale nigdy na dłużej. Ostatnio, mając na uwadze multiplatformowość .NET Core i to jak mi się dobrze pracuje z tą biblioteką, postanowiłem dać Linuksowi szan...
Od momentu kiedy – zainspirowana wielkimi postaciami naszego krajowego światka IT – pojawiła się w mojej głowie myśl, „może by tak bloga założyć”, do momentu kiedy bloga założyłem, mija właśnie sześć miesięcy. Oczywiście nie jest to okres po którym można mianować się ekspertem, ale uważam, że jest to idealny okres aby zebrać przemyślenia, podsumować swoje działania i zaplanować dalsze kroki. Opiszę moje oczekiwania, wyobrażenia o tym jak to będzie wyglądało. Wyobrażenia jakie miałem, jeszcze na etapie w...
Praca z Gitem. Dużo się o nim mówi, zwłaszcza w środowisku .NET, głównie ze względu na to iż Microsoft kupił Github, a także udostępnił źródła .NET Standard i .NET Core na licencji Open Source (MIT). Osobiście, ciągle się uczę Gita i przy okazji sprawdzam, testuję różne rozwiązania około-gitowe. Wtyczki, narzędzia, różnego rodzaju integracje z Gitem. To sprawia, że wiem co mogę i ile mogę. Gita świetnie się obsługuje z poziomu konsoli czy terminala i przy tym pozostanę, ale zawsze dobrze m...
Ostatnio bardzo mocno „katuję” swój mózg Gitem….hmmmm…uprzyjemniam mu chwile Gitem. Z racji tego, że w pracy nie mam możliwości poużywać sobie Gita w miarę często, eksperymentuję w domu na swoich pet-projects. Używam, używam, używam i nudzi mi się już ciągłe wpisywanie komend w konsoli. Rzecz jasna nie zamienię jej na inne narzędzie do pracy z Gitem, ale kiedy już pamiętasz te bardziej popularne komendy, odechciewa się. Pisałem już od dodatkach do PowerShella, również w kontekście Gita. O ...
Słowem wstępu Dawno, dawno temu została stworzona stała MAX_PATH, decydująca o tym jak długie mogą być ścieżki do plików i katalogów w systemie Windows. Jest to setting na poziomie Windows API. Ostatnio w pracy dotknął mnie ten problem. Niefortunne było to, że problem objawił się podczas modyfikowania pliku projektu jenkinsa, w celu utworzenia joba releasowego. Problem był o tyle uciążliwy, że przecież nie zmienię nagle całej struktury projektu i źródeł które zamierzam budować, ani tez nie będę przenos...