Recently, I had quite an interesting discussion about var keyword in C#. Basically, my interlocutor tried to convince me that using var we drastically reduce code readability, so we should only use that together with anonymous types. He also mentioned performance and that some operations cannot be done using implicit typing. Well, if you’ve been reading my blog for some time, you’ve probably spotted that I’m a big fan of vars, and I put them every time it’s possible. B...
Sztuka programowania 423 dni, 20 godzin, 16 minut temu 270 rozwiń
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...
Sztuka programowania 425 dni, 20 godzin, 33 minuty temu 45 rozwiń
Specjalista powinien brać odpowiedzialność za tworzone oprogramowanie, jak jednak poradzić sobie w sytuacji kiedy ciągle pracuje się pod presją czasu? Jak równoważyć jakość względem czasu i czy w ogóle równoważyć?
Sztuka programowania 427 dni, 21 godzin, 9 minut temu 160 rozwiń
Zachęcam do oglądnięcia mojego Lightning Talka pod tytułem "Nic nie wiem". Opowiedziałem jak moje doświadczenie w projektach pokazało, że warto mniej wiedzieć i zakładać a więcej pytać i starać się zrozumieć czego chce od nas klient.
Sztuka programowania 428 dni, 21 godzin, 36 minut temu 67 rozwiń
I have met and talked to a lot of developers in my life. I went through the whole lifecycle of software production many times. People have changed, but the projects that have been implemented, are happily still running in production (at least most of them, let’s say :)). What I have noticed during this period of over 10 years working with the software and people producing it, is that many developers have quite a strange approach to work. In IT there’s this request type called “Fire and forget”, ...
Sztuka programowania 430 dni, 21 godzin, 8 minut temu 56 rozwiń
Artykuł przedstawia co się wydarzy jeśli zrobimy filtrowanie danych przy użyciu metody Contains() na pustej kolekcji w Entity Frameworku.
Sztuka programowania 437 dni, 20 godzin, 17 minut temu 224 rozwiń
Last Tuesday, I had a talk in Wrocław about async/await in C# (thanks once again, you rock!). At some point, I asked the audience seemingly simple question. Why do we need async keyword at all? When I look at the folks, lots of them looked very confused since the answer seemed very obvious. Well, as you probably expect, it’s a little bit more complicated. Async makes my method asynchronous… At the very beginning, I should explain why the answer to my ques...
Sztuka programowania 438 dni, 20 godzin, 45 minut temu 290 rozwiń
If you ever maintained a live system - I’m sure you must have used the min-max alarms. However, are they always the best tool for the job?
Sztuka programowania 441 dni, 17 godzin, 1 minutę temu 51 rozwiń
Wpis o tym, jakie mamy modyfikatory dostępu i jak je olać ciepłym moczem;)
Sztuka programowania 443 dni, 19 godzin, 17 minut temu 254 rozwiń
Hype Driven Development czyli kilka słów na temat tego jak nie podejmować decyzji technicznych w projekcie oraz o zastosowaniu Decision Loga.
Sztuka programowania 444 dni, 20 godzin, 37 minut temu 140 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);
Sztuka programowania 444 dni, 20 godzin, 37 minut temu 194 rozwiń
Nikt nie uczy się programowania z czystej pasji do uczenia się programowania. Wszyscy chcielibyśmy wykorzystywać nasze umiejętności w praktyce. Często chcielibyśmy też, żeby ta praktyka równała się czemuś dużemu – może to być produkt który odniósł sukces, satysfakcja z nauczenia czegoś naszego znajomego który dopiero zaczyna, albo projekt który zmieni świat. Co jednak w momencie, kiedy nie mamy akurat możliwości pracować przy czymś “wielkim”, a chcielibyśmy robić c...
Sztuka programowania 449 dni, 19 godzin, 38 minut temu 249 rozwiń
It seems that most people know the importance of software design patterns, best practices or continuous integration. While those subjects are important, there is one more equally essential term, which yields only one relevant result link on the first Google page. Meet Operational Excellence.
Sztuka programowania 451 dni, 20 godzin, 38 minut temu 53 rozwiń
About two months ago I worked on the microservice for my company’s new product. The whole thing was based on the CQRS pattern which is basically about splitting the application into reads (queries) and writes (commands). I came to the point when I wanted to validate a command object received from RabbitMQ. Without thinking, I started coding another if statements which after a while became my „domain logic”. I’m not going to present the example code because I’m ...
Sztuka programowania 452 dni, 16 godzin, 37 minut temu 127 rozwiń
Czas na nową serię – czego nauczyłem się danym tygodniu. W tej serii będę się starał napisać klika słów oraz zamieści kilka linków z tego czego nowego nauczyłem się danego tygodnia. Gdy nie będę miał materiałów no cóż albo urlop albo wstyd (wstyd nie nauczyć się czegoś codziennie). Ponieważ inne serie się sprawdzają (z newsami) więc ta też powinna się przyjąć. Na każdym „zaangażowanym” blogu programistycznym jest jakaś seria. Prawdziwa fala przeszła z kursami na meila-a. Zapraszam serdecznie. W tym ...
Sztuka programowania 454 dni, 20 godzin, 19 minut temu 215 rozwiń
Często w przypadku testów automatycznych napotykamy problem związany z badaniem zawartości plików w formacie csv generowanych podczas tychże testów. W jaki sposób możemy parsować ich zawartość? Z pomocą przychodzi nam biblioteka FSharp.Data i udostępniana w jej ramach klasa CsvFile. Zachęcam do lektury :)
Sztuka programowania 457 dni, 20 godzin, 36 minut temu 40 rozwiń
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.
Sztuka programowania 457 dni, 20 godzin, 36 minut temu 135 rozwiń
W internecie można spotkać głosy, że programiści nie wykonują odpowiedzialnych zadań i nie ma żadnych regulacji, których muszą przestrzegać. Bo co złego może się stać, jeśli strona nie będzie działać, albo komputer wywali bluescreena. W końcu świat się od tego nie zawali. Być może jest to prawdą w 99% projektów programistycznych. Jednak tam, gdzie na szali jest ludzkie życie, bardzo restrykcyjne regulacje obowiązują już od dawna. Wiem o czym mówię, ponieważ przez ostatnie dwa lata pracowałem przy systemi...
Sztuka programowania 458 dni, 16 godzin, 58 minut temu 127 rozwiń
Pierwszy raz nie zostałem muzykiem, gdy wzięty przez Babcię do szkoły muzycznej, powiedziałem stanowczo, że nie zamierzam śpiewać i powtarzać zagranych na pianinie rzeczy. Pierwszy raz nie zostałem programistą gdy znalazłem dyskietkę z napisem Basic. Znalazłem ją w używanej i kupionej przez rodzinną zrzutkę Amidze 500. Tato powiedział, że to do programowania. Wrzuciłem do pudła i włączyłem Lotusa III.
Sztuka programowania 459 dni, 18 godzin, 24 minuty temu 140 rozwiń
'You mean the cheap crXp? This is what I heard, when I ask a colleague in London about a local souvenir shop. Recently it recalled it when thinking about software quality and technical debt. Interested in SaCC? Read along!
Sztuka programowania 462 dni, 20 godzin, 32 minuty temu 75 rozwiń
Polecamy
Nadchodzące wydarzenia
Najaktywniejsi

