Tag: c#

Czy warto korzystać z float zamiast double (oszczędność pamięci)

TLDR: Nie, nie warto. Wszędzie double Wszędzie gdzie potrzebna jest wartość zmienno-przecinkowa używam double, ponieważ: nie chce mi się rozkminiać, które wartości mogą być mniej dokładne (idąć dalej, co to znaczy mniej dokładne i kto o tym decyduje) – szkoda czasu. gdyby system miał… Continue Reading „Czy warto korzystać z float zamiast double (oszczędność pamięci)”

Dzielenie z resztą bez rzutowania na float

Aby dzielenie odbyło się z resztą operacja musi się odbyć na typach double a nie na int, czyli żeby wynik nie był zaokrąglony do inta. W praktyce dzielenie na intach: Kiedyś rzutowałem w ten sposób: A od dziś dzięki Grzesiowi będę zmieniał drugą liczbę… Continue Reading „Dzielenie z resztą bez rzutowania na float”

Zalogowanie ustawień podczas startu applikacji

Zawsze przychodzi ten moment gdy trzeba rozwiązać buga na produkcji i jedyne co mamy to logi aplikacji. Okazuje się oczywiście, że nie ma wszystkich informacji w tych logach. Nie ma nawet całkiem podstawowych informacji. Gdy nic nie widzisz Spotkałem się z sytuacją gdzie był… Continue Reading „Zalogowanie ustawień podczas startu applikacji”

Static – dobry, zły i brzydki

Prywatne pola static – są bardzo NIE OK. Metody static – są OK. I o ile jest generalnie zgoda, że nie powinno się używać static w polach to chciałem pokazać, że metody będące statyczne są dobre. Czy powinny być statyczne to zależy od kontekstu.… Continue Reading „Static – dobry, zły i brzydki”

TypeLITE: generator C# => TypeScript

W projekcie Webowym z bogatą logiką FrontEndową zawsze w pewnym momencie stajemy przed problemem synchronizacji klas, które mamy w C# z tymi po stronie FE. Jednym z ułatwień jest korzystanie z TypeScript, który udostępnia silne typowanie po stronie FE. Ciągle jednak może być tak,… Continue Reading „TypeLITE: generator C# => TypeScript”

AppDomain przydaje się gdy coś się gryzie z cudzym kodem

Duży system, kilka technologii. W tym coś napisanego w Javie. Okazało się, że jedna z klas Javy ma nazwę XmlSerializer. I właśnie ta klasa sprawia, że dziwnymi wyjątkami rzuca .NETowy XmlSerializer. Inna technologia, inne namespace’y – istna magia 🙂 Okazało się jeszcze, że gdy… Continue Reading „AppDomain przydaje się gdy coś się gryzie z cudzym kodem”

C#, Linq – Wybieranie najlepszego z kolekcji.

Jest kolekcja obiektów i należy wybrać ten, który ma coś najlepszego. W tym przypadku wybieramy sałatę, którą najbardziej się najemy. Kod zazwyczaj wygląda tak: Dzisiaj zauważyłem, że można zrobić to trochę mniej optymalnie, ale jednak kod się uprości. Będziemy tutaj musieli przebiec po pętli… Continue Reading „C#, Linq – Wybieranie najlepszego z kolekcji.”

xUnit – nowy lepszy framework dla Unit Testów

Po co mi jakiś inny framework do testowania? Wszystko co mam, wystarcza mi – ktoś może powiedzieć. Gdybym miał kogoś przekonać do xUnit to odpowiednim powiedzeniem byłoby Lepsze jest wrogiem dobrego. NUnit ma wady NUnit rozpoczął żywot ponad 10 lat temu (wczesne 2002). .NET… Continue Reading „xUnit – nowy lepszy framework dla Unit Testów”

Wielokrotne zabezpieczanie się przed nullem

Powiedzmy, że potrzebujemy wyciągnąć PostCode użytkownika (a po drodze mamy jeszcze Address): Nie mamy pewności czy person nie jest nullem, a następnie czy person.Address nie jest nullem, a następnie person.Address.PostCode … . Aby się zabezpieczyć przed NullReferenceException musimy napisać trochę dodatkowego kodu, jak np:… Continue Reading „Wielokrotne zabezpieczanie się przed nullem”

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ś… Continue Reading „Single Exit Point”