Wszyscy wiedzą, że odpowiednia komunikacja w zespole projektowym jest bardzo ważna. Według statystyk „zła komunikacja” jest wymieniana jako jedna z głównych przyczyn opóźnień projektów. Doszło do tego, że pojęcie „dobra komunikacja” stała się frazesem i dla wielu wymówką w przypadku niepowodzeń z projektami. Nie jest to z pewnością trudność obiektywna, na którą nie mamy wpływu,...
Sztuka programowania 2335 dni, 6 godzin, 35 minut temu 194 źrodło rozwiń
Zwykle programiści korzystają z podstawowych typów dostarczonych przez C#, takich jak String, Int32 czy Double. W świecie programowania obiektowego można jednak pójść o krok dalej i budować własne typy danych. Przeważnie programiści korzystają z nich wyłącznie, gdy do zaimplementowania jest jakaś logika. Dlaczego nie tworzyć ich nawet w sytuacjach, gdy mają one przechowywać wyłącznie dane? Problem z podstawowymi typami takimi jak String Czy Int32 t...
Sztuka programowania 2338 dni, 8 godzin, 24 minuty temu 214 źrodło rozwiń
Przedstawienie podstaw FluentValidation - 1 część cyklu.
Sztuka programowania 2338 dni, 22 godziny, 57 minut temu 146 źrodło rozwiń
Napisany przez paweltymura on Książki są bardzo ważne w moim życiu. Chodzi o to zawodowe i prywatne. Biblioteka pozycji głównie beletrystycznych idzie w setki pozycji. Jest też kilka książek dotyczących programowania, które chciałbym tu wymienić, głownie dotyczących Clean Code, Agile, Pragmatic Programmer oraz DDD.
Sztuka programowania 2339 dni, 7 godzin, 26 minut temu 294 źrodło rozwiń
~ Jarosław StadnickiBogowie Słuchając wystąpień wujka Boba czy innych wielkich mówiących o czystym kodzie, solidzie, testach, architekturze, devopsach i innych słowach kluczowych można popaść w depresję: „O żesz, mój kod nigdy taki nie będzie, lepiej nikomu go nie pokaże, sam zamknę się w piwnicy i do końca życia będę żywic się ziemniakami i robakami które będą do mnie przypełzać”. Czy naprawdę tak jest? Czy kod który piszemy musi być jak kryształ?Obrazek Słuchając różnych podcastów, usłyszałem taka ...
Sztuka programowania 2342 dni, 17 godzin, 48 minut temu 190 źrodło rozwiń
28/02/2016 ~ Jarosław Stadnicki Oskar i Kokos zebrali w swoich postach całkiem sporo materiału na temat skąd i jak można czerpać wiedzę i o tym jak się uczyć. Ich wpisy można znaleźć: Oskar: Nauka uczenia (się) Kokos: Jak się rozwijać? Ja dodam od siebie jeszcze jedną rzecz, która nie została wcześniej wymieniona, a moim zdaniem daje sporo. To podcasty. Słuchając ich nie tyle uczę się danej technologii, czy jednego słusznego rozwiązania, a raczej dowiaduje się o innych, alternatywnych do codziennej p...
Sztuka programowania 2344 dni, 16 godzin, 34 minuty temu 136 źrodło rozwiń
Są takie słowa kluczowe w języku C#, bez których można się obejść. Tylko po co się ograniczać, jeśli ich zrozumienie może zaoszczędzić nam czas, liczbę linii kodu do napisania… i wzbudzić zazdrość wśród Javowców :) Zapraszam na trzy słowa o delegate.
Sztuka programowania 2347 dni, 6 godzin, 59 minut temu 401 źrodło rozwiń
Take care of your test code Posted on by Michal Franc As developers we tend to write complicated unit tests that are hard to read and maintain. Maybe it comes from the feeling that test code is not a proper code ? There is some magic in writing ‘proper’ unit tests. Using word proper might not be even suitable here because how do you define ‘proper’. It is the same problem as with the definition of ‘unit, everyone has his own definition that depends on the context. Code below feels like not ‘proper’ ...
Sztuka programowania 2348 dni, 1 godzinę, 9 minut temu 80 źrodło rozwiń
W tym wpisie poruszę kwestię tego, czy możemy stwierdzić, że dana metodyka/metodologia działa lub nie. Dowiesz się dlaczego robiąc niewłaściwe rzeczy poprawnie oraz właściwe rzeczy niepoprawnie możesz nie osiągnąć zamierzonego celu. Jeśli poprzednie zdanie jest dla ciebie „masłem maślanym” tym bardziej zachęcam do przeczytania wpisu by zrozumieć temat doboru metod i ich właściwego użycia. Zapraszam ...
Sztuka programowania 2350 dni, 6 godzin, 31 minut temu 396 źrodło rozwiń
Ten wpis dedykuje wszystkim fanatykom Ja na przykład uwielbiam Resharpera. Uważam, że warto go używać i na pewno samo Visual Studio nie wystarczy, by w nim programować. Jest to bardzo smutne, że Microsoft nie zdecydował się dodać tych magicznych funkcjonalności do swojego IDE, gdzie Eclipse od zawsze ma to za darmo 😉 Ja nie wyobrażam sobie przestać używać Resharepera, bo i dlaczego miałbym z niego rezygnować? Przez kilka lat swojej pracy przyzwyczaiłem się do pracy z nim i uważam, że dzięki niemu pracu...
Sztuka programowania 2350 dni, 6 godzin, 31 minut temu 400 źrodło rozwiń
Refactoring it should be a simple process. But when we ask a random developer, he will be afraid of it. But why are we so afraid?
Sztuka programowania 2351 dni, 18 godzin, 59 minut temu 124 źrodło rozwiń
Napisany przez paweltymura on I pisząc wszyscy nie wyłączam z tego siebie W artykule w którym zamieniam foreach na Linq robiąc mały refaktoring dostałem dużą ilość feedbacku zwłaszcza od kolegi Revisa. Dzięki bardzo! Serce rośnie jak ktoś się interesuje. W pracy natomiast mam takiego swojego guru – programistę, który skwitował nasze (moje i Revisa) końcowe wypowiedzi "... ale Wy głupoty gadacie". I się zaczęło.
Sztuka programowania 2357 dni, 7 godzin, 27 minut temu 670 źrodło rozwiń
Napisany przez paweltymura on Jak agregować tekst do String Buildera? Zazwyczaj robi się to tego typu kodem: public string GetPagedHtml() { StringBuilder sb = new StringBuilder(); foreach (var page in Pages) page.CollectHtml(sb, page.Index==0); return sb.ToString(); } Ale przecież można łatwiej, lepiej i przyjemniej... z Linq.Aggregate.
Sztuka programowania 2357 dni, 7 godzin, 27 minut temu 247 źrodło rozwiń
Napisany przez paweltymura on Wzorzec Polecenia (Command) praktycznie każdy zna, więc nie owijając w bawełnę poniżej przykład z lampą i pilotem który tejże lampy funkcje ma włączać i wyłączać. Przykład ten dostaniecie w 2 sosach - obiektowym i funkcyjnym, który jak zwykle będzie prostszy krótszy i bardziej satysfakcjonujący... Do kodu!
Sztuka programowania 2357 dni, 7 godzin, 27 minut temu 196 źrodło rozwiń
Zamień bóla na enuma. Dlaczego zamienić? Moim zdaniem czytelniej i jasno sformułowana myśl i łatwiej zrozumieć. Nie chodzi o prosty przypadek, gdzie zamiana polegałaby na zamianie true/false na MyEnum.True/MyEnum.False – nie nie, to byłoby szaleństwem. Ale może od razu do kodu, bo czas nagli dzisiaj. Pierwszy przypadek, wszystko działa jak należy...
Sztuka programowania 2358 dni, 7 godzin, 19 minut temu 335 źrodło rozwiń
Warning: this post won't be about "boring" or "typical" algorithms from Computer Science which we all have learned on studies (like quick sort, merge sort, xxx sort, A*, FFT). Instead, this will be about other little-known, especially USEFUL algorithms, which people working as professional developers should know or heard of. Little-known. ID generation problems are usually overlooked. Database ID's I mean. Ask someone to name ID "types". Well, GUID, newsequentialid...
Sztuka programowania 2361 dni, 3 godziny, 26 minut temu 115 źrodło rozwiń
Słowo kluczowe yield – obecne w języku C# od dawien dawna – w prosty sposób może przyczynić się do poprawy wydajności naszego kodu. Jak działa? Gdzie go używać? Jak może przyczynić się do poprawy działania aplikacji? Przekonajmy się...
Sztuka programowania 2363 dni, 4 godziny, 36 minut temu 465 źrodło rozwiń
W internecie znaleźć można mnóstwo sposobów na zwalidowanie modelu. Najlepszym sposobem jest zastosowanie atrybutów z przestrzeni System.ComponentModel.DataAnnotations, ponieważ walidacja odbywa się automagicznie. Niestety kiedy te same atrybuty wykorzystamy do parametrów akcji, to już tak automagicznie nie jest. W tym poście zaprezentuję problem oraz pokażę jak można sobie z nim poradzić.
Sztuka programowania 2363 dni, 4 godziny, 36 minut temu 266 źrodło rozwiń
Początki nowego projektu zawsze są interesujące – można posprzeczać się na tematy możliwych do użycia technologii / wzorców / planowanej architektury. Później, gdy już projekt zastyga i klepiemy tylko kolejne widoki każda kolejna próba takiej dyskusji kończy się tekstem typu: “Ale po co o tym gadać – i tak nic nie zmienimy bo trzeba by całą aplikację przepisywać”.
Sztuka programowania 2364 dni, 3 godziny, 41 minut temu 454 źrodło rozwiń
Wiecie jaka jest definicja wzorca projektowego, prawda? Za wikipedią: “a general repeatable solution to a commonly occurring problem in software design“. Czym zatem będzie antywzorzec? Czymś takim: “a general repeatable anti-solution to a commonly occurring problem in software design“. Czyli: recepta na napytanie sobie biedy. Czerwony pijany znak z napisem: “Nie idź tą drogą”.
Sztuka programowania 2364 dni, 3 godziny, 41 minut temu 167 źrodło rozwiń