Czy Twoja aplikacja na pewno będzie ostatecznie spójna ?
Architektura 1276 dni, 10 godzin, 5 minut temu 187 źrodło rozwiń
Dziś krótki i nieplanowany wpis z cyklu „ku przestrodze”, a będzie o… polu statycznym, które skutecznie zmieniło moje plany dotyczące ubiegłego wieczoru (ok 2h debugowania). Nie ma jednak tego złego, prawda? Ja mam nauczkę, a Ty drogi czytelniku być może też wyniesiesz z tego coś dobrego. Zacznijmy od tego, aby odpowiedzieć sobie po co i kiedy stosować słowo kluczowe static? Myślę, że każdy, czy to w szkole, na uczelni, na kursie czy w p...
Sztuka programowania 1277 dni, 10 godzin, 9 minut temu 257 źrodło rozwiń
Tym razem jednak skupiliśmy się na definicji kilku dobrych praktyk wspomagających tworzenie testów jednostkowych. Takich testów, które dobrze weryfikują implementacje, zapewniają jakość oraz łatwo jest je utrzymywać. Jakie dobre praktyki warto stosować podczas pisania testów jednostkowych? Wśród popularnych aspektów jak zasady FIRST czy grupowanie implementacji testu w trzy grupy – Given, When, Then pojawiły się także inne warte uwagi techniki. Jesteś ciekawy jakie? To serdecznie zapraszam Cię do odsłu...
Sztuka programowania 1277 dni, 10 godzin, 9 minut temu 108 źrodło rozwiń
W dzisiejszym wpisie prosty trik, który pozwoli Wam zobaczyć jakie były zmiany w projekcie od ostatniej wydanej wersji aplikacji. Posłuży Nam do tego znane wszystkim polecenie git log 🙂
Słuchajcie, wiecie jak to jest z tymi obietnicami. Wypije się za dużo kakałka, nie wyśpi, a potem obiecujesz ludziom, że napiszesz konkretny artykuł na specyficzny temat. No i tak właśnie to ten, napisałem go. Obietnic się dotrzymuje, koniec i kropka ;). Tak jak obiecałem, będzie to sposób przesłania raportu o pokryciu kodu testami do serwera SonarQube. Miałem trochę na głowię – zagraniczna delegacja, rozwój firmy – więc chwile to zajęło, ale mieszczę się jeszcze w terminie ;). Chcąc podążać jeden do j...
Projektem informatycznym trzeba jakoś zarządzać. Do tego przydaje się np. Trello. Do zarządzania taskami w projekcie przydaje się tablica kanbanowa, pozwalająca zwizualizować kolejne etapy tworzenia oprogramowania.
Want to see an example of implementing IEquatable and usage of protobuf? Jump in! :)
Sztuka programowania 1277 dni, 10 godzin, 9 minut temu 46 źrodło rozwiń
What happens when you throw something which does not inherit from System.Exception? How to swallow ThreadAbortException? Is it possible that finally block is not executed? First part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Ostatnio usłyszałem o sobie, że z racji dużej liczby inicjatyw w które się angażuje, jestem “człowiekiem 1000 projektów”. Co prawda miało to być komplementem, ale od razu odpowiedziałem, że równolegle pracuję jedynie nad dwoma lub maksymalnie trzema sprawami i tylko dlatego to działa. W dzisiejszym poście kilka słów o tym co zrobić, żeby nie zaplątać się w rozmaite inicjatywy w zbyt dużej liczbie i tym samym pozbawić się szansy osiągnięcia jakiegokolwiek celu. Na początku zadajmy...
Luźne przemyślenie o sagach - na podstawie tweetu Udiego Dahana i prezentacji Adama Ralpha.
Sztuka programowania 1280 dni, 8 godzin, 44 minuty temu 183 źrodło rozwiń
DDD - Domain Model Encapsulation and Persistence Ignorance with Entity Framework 2.2
Sztuka programowania 1281 dni, 8 godzin, 39 minut temu 158 źrodło rozwiń
C# 8.0 brings us another nice feature called slicing. In order to make it possible, two new concepts are introduced: Indexes and Ranges. Let’s see how this tiny feature is supposed to make our life easier 🙂
Sztuka programowania 1281 dni, 8 godzin, 39 minut temu 108 źrodło rozwiń
Historia zmian danych w aplikacji wcześniej czy później pojawi się w każdym projekcie. Do tego problemu można podejść na różne sposoby – możemy samemu coś wymyślić lub skorzystać z czegoś gotowego. W przypadku gdy korzystamy z Entity Framework, możemy użyć mechanizm audytu z darmowego rozszerzenia Entity Framework Plus. W dzisiejszym wpisie pokażę podstawy korzystania z tego mechanizmu, natomiast za tydzień rozbudujemy jego możliwości.Problem W tworzonych prze...
Bazy danych i XML 1282 dni, 8 godzin, 10 minut temu 196 źrodło rozwiń
Azure DevOps - co to jest? Do czego służy nowe rozwiązanie firmy Microsoft dla programistów? Czy warto się nim zainteresować?
O dwóch sposobach tworzenia oprogramowania na przykładzie programu na antyczny komputer PDP-8 opowiada Wujek Bob Martin.
Sztuka programowania 1283 dni, 8 godzin, 12 minut temu 129 źrodło rozwiń
In the early days of dotnet core, there was an attempt of changing the C# project file format. The old “csproj” based on XML format was replaced with .xproj/project.json. However, after releasing dotnet core 1.0 the authors decided to get back to XML file. The format stayed the same but the specification went through a major change. With the new schema...
Krótko i na temat, czyli jak uruchomić polecenie powłoki systemowej bash w .NET Core na Ubuntu
Sztuka programowania 1283 dni, 8 godzin, 12 minut temu 60 źrodło rozwiń
Cóż tam, panie, w polityce? Chińcyki trzymają się mocno!? Jeden z bardziej znanych mi cytatów. Tata i dziadek powtarzali go tak wiele razy, że aż trudno spamiętać. “Wesele” Wyspiańskiego, akt I, scena I. A co to ma wspólnego z dotnetem? No jak to? Dotnet trzyma się mocniej niż Chińcyki! A więc poniżej subiektywny, osobisty, dump linków - podejście 5, miejmy nadzieję, że tym razem z sukcesem. No to jedziemy!Podsumowanie tygodnia dotnetomaniaka Jak jeszcze nie czytałeś co działo sie na polskiej scenie ...
Są rzeczy ważne, ważniejsze i testy jednostkowe. No i może kakałko wypadałoby umieścić na końcu listy, przynajmniej zimą. Wracając jednak do testów, uważam je za podstawowe narzędzie do poprawy jakości kodu. Pozwalają nam szybko przetestować, czy nasza twórczość działa poprawnie i (jeśli testy są prawidłowo napisane) zgodnie z założeniami biznesowymi. W dzisiejszym, dość krótkim, artykule chciałbym Wam przedstawić narzędzie Coverlet służące do obliczania pokrycia kodu przez testy jednostkowe. Jest to kró...
Używając FluentAssertion musimy zwracać uwagę w którym miejscu użyjemy Should(). W zależności od położenia Should() błędy zwracane z asercji mogą być lepszej lub gorszej jakości.
Sztuka programowania 1284 dni, 8 godzin, 25 minut temu 124 źrodło rozwiń