Strona głównaUżytkownik

https://krzysztofmorcinek.wordpress.com/ | użytkownik

https://krzysztofmorcinek.wordpress.com/
https://krzysztofmorcinek.wordpress.com/
823,19
1830 dni, 23 godziny, 12 minut temu
29 sierpnia, 2016
dotnetomaniak.pl

Dzisiaj chciałbym podzielić się zestawem reguł, który w różnych projektach stosuję od lat. Pod to stworzyłem repozytorium https://github.com/kmorcinek/dotnet-tools-settings Korzystam ze StyleCopa od ładnych kilku lat. Jest to niezbędne narzędzie gdy stosuje się Code Review. Po prostu szkoda czasu i ludzkiej cierpliwości, żeby ręcznie wytykać komuś coś, co może wychwycić narzędzie.

[StyleCop] od jakiego zestawu reguł wystartować – Show me the code

Narzędzia 1841 dni, 22 godziny, 20 minut temu https://krzysztofmorcinek.w... 97 źrodło rozwiń

Jest bug! 😦 Hacki się mszczą, ale teraz musimy dostarczyć paczkę Kolejny tydzień, kolejny ten sam bug Bądź EXPLICIT

Tagi: bug, dry, hack, wiedza
Dziel się z innymi:
Gdzie chowasz swoje hacki? – Show me the code

Całkiem normalną sytuacją jest, gdy każdy sam sobie instaluje server bazy danych. Wtedy u każdego ta nazwa może być różna. Ktoś zainstalował wersję SQL Express, ktoś inny ma już kilka wersji SQL (2008, 2012, 2014, 2016, …) różnie nazwanych, u kogoś innego w poprzednim projekcie instancja musiała się konkretnie nazywać.

Co gdy każdy programista ma inne lokalne ustawienia aplikacji? – Show me the code

Opiszę pomysł, który zobaczyłem w projekcie i bardzo mi się spodobał. Nie będę opisywał możliwych modyfikacji, które sobie wyobrażam. Rozumiem też, że będąc w innym projekcie (Context is King!) musiałbym go dostosować. Gdy piszemy kod to zazwyczaj jesteśmy w „Debug”, i w takim trybie nie chcemy dostawać Errorów do StyleCopa. Powodów może być wiele: kod experymentalny, kod przeklejony z internetu, z poprzedniego projektu, itp. Albo po prostu każdy ma inną wrażliwość na to jak formatować kod. I lokalnie n...

Tagi: StyleCop
Dziel się z innymi:
[StyleCop] Jakie severity (Warning czy Error) dla problemów zgłaszanych przez StyleCop? | Show me the code

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...

Dziel się z innymi:
Zalogowanie ustawień podczas startu applikacji | Show me the code

Moje motto na temat Unit Testów i wielu innych rzeczy: Less Unit Testing Dogma More Unit Testing Karma Nie ma co pisać wstępów, trzeba przeczytać krótkiego i zwięzłego PDFa The Way of Testivus

Testivus – kompletne starożytne nauki na temat testowania | Show me the code

Czy oglądając video z konferencji nie nudzicie się czasem? Może za wolno? Zdecydowanie tak. Kiedykolwiek to pokazuję to każdy się zgadza, że można przyspieszyć. Np. w youtube w prawym dolnym rogu klikamy Settings->Speed i dostaniemy wybór jak po prawej.

Przyspieszone słuchanie podcastów i konferencji | Show me the code

Inne 2325 dni, 22 godziny, 37 minut temu https://krzysztofmorcinek.w... 139 źrodło rozwiń

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 bugów i znacznie zwiększy czytelność. I tutaj staje się przed problemem ...

Okazjonalne (regularne) czyszczenie kodu Resharperem | Show me the code

Narzędzia 2331 dni, 21 godzin, 36 minut temu https://krzysztofmorcinek.w... 218 źrodło rozwiń

Angielski tytuł brzmiałby „It’s not what you read, it’s what you ignore” bo jest on tytułem znakomitego wystąpienia Scotta Hanselmana: Od siebie mogę dodać kilka rzeczy, które robię: Email prywatny w pracy jest w nieużywanej przeglądarce, więc prawdopodobieństwo jego przypadkowego przeglądania jest bardzo niskie. Wyłączenie powiadomień mailowych na komórce (zarówno głosowych jak i wizua...

Jak nie dać się zwariować napływowi informacji | Show me the code

Inne 2330 dni, 21 godzin, 8 minut temu https://krzysztofmorcinek.w... 149 źrodło rozwiń

Chciałbym dziś napisać o jednej z metod poszerzania wiedzy. Od zawsze nazywało się to dla mnie The Morning Brew. Jak sam autor pisze: The Morning Brew is a daily .NET software development link blog published by Chris Alcock a software developer from the north west of England. Chris ma w tym doświadczenie, to już #2468 odcinek, pierwszy był 10 lat temu!

Tagi: .Net, blog, C#, wiedza
Dziel się z innymi:
Codzienna prasówka – The Morning Brew | Show me the code

Inne 2337 dni, 21 godzin, 28 minut temu https://krzysztofmorcinek.w... 200 źrodło rozwiń

Chcemy rzucić wyjątkiem, gdy mamy przypadek nieobsłużony poprzez case’y. Na przykład gdy pojawiła się nowa wartość enuma Shape. throw EnumGuard.CreateMissingEnumException(nameof(shape), shape);

Tagi: .Net, C#, Enum, Exception
Dziel się z innymi:
Prostsze rzucanie wyjątków, gdy nie mamy obsłużonego Enuma | Show me the code

Najbardziej popularnym Value Object jest Money. W tym przykładzie instancje możemy tworzyć tylko poprzez metode Create() (taka fabryka). Konstruktor jest prywatny. Pewnie dla tego przykładu lepiej mieć po prostu publiczny konstruktor z dwoma parametrami, ale mam wiele przykładów innych bardziej skomplikowanych Value Objects, gdzie podejście z prywatnym konstruktorem i kilkoma fabrykami walidującymi różne przypadki ma sens.

Immutable Value Object przesyłany/serializowany (np po SignalR) | Show me the code

Staram się automatyzować wiele rzeczy. Build skrypt przechodzący lokalnie i na serverze po każdym commit’ie to podstawa. Można to w prosty sposób zrobić. Jest jednak część rzeczy, które są zbyt trudne do automatyzacji, albo po prostu nie da się ich zautomatyzować. ...

Dziel się z innymi:
Periodic Solution Cleanup | Show me the code

Buduję właśnie nugeta z solucji, która ma ponad 20 projektów. Ok 10 z nich ma wylądować w paczce. Paczka ta jest silnikiem obliczeniowym i będzie konsumowana przez większy system wewnątrz firmy. Nuget będzie hostowany tylko wewnętrznie. Wygląda to tak ...

Dziel się z innymi:
Budowanie paczki Nugetowej (przykład) | Show me the code

W pliku AssemblyInfo.cs zawsze widzę dużo śmieci. Przy kilkunastu/kilkudziesięciu projektach tych śmiecie jest liniowo więcej. Może czasem niektóre z nich w Waszym kontekście są potrzebne. Moje doświadczenia są jednak takie, że ten plik mógłby być tylko jeden i wyglądać: [assembly: System.Reflection.AssemblyVersion("1.0.0")]

Tagi: AssemblyInfo
Dziel się z innymi:
Jeden wspólny AssemblyInfo dla całej solucji | Show me the code

Architektura 2370 dni, 20 godzin, 59 minut temu https://krzysztofmorcinek.w... 200 źrodło rozwiń

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. Tutaj na scenę wchodzi TypeLITE

TypeLITE: generator C# => TypeScript | Show me the code

Web 2483 dni, 6 godzin, 55 minut temu https://krzysztofmorcinek.w... 201 źrodło rozwiń

Tak IMHO powinien wyglądać dobrze napisany enum: public enum DocumentStatus : byte { Draft = 1, Approved = 2, UnderRevision = 3, Released = 4 } Nie enumerujemy od zera Pozbyć się wartości Undefined Dziedziczyć po byte? Czy nadawać wartości liczbowe wszystkim?

Tagi: C# .NET, Enum
Dziel się z innymi:
Jak wygląda poprawna implementacja enuma | Show me the code

Najaktywniejsi w tym miesiącu