Jak wykorzystać TDD w codziennym życiu Autor: Arkadiusz Benedykt Opublikowano: 2011-07-20 Znamy już podstawy test driven development, pora wykorzystać tę wiedzę praktycznie. Do stworzenia prostego kodu będziemy potrzebowali Visual Studio 2010 oraz dostępne w nim środowisko testów jednostkowych – MS Tests. Tworzymy nowy projekt testowy. Poniżej znajduje się kod automatyczne generowany przez narzędzie: Kopiuj using System; using System.Text; using System.Collections.Generic; using System.Linq; using ...
Główny dotnetomaniak obchodzi urodziny i z tej okazji postanowił zorganizować mały konkurs. Wśród osób, które przez najbliższy tydzień będą promować dotnetomaniaka na twitterze lub facebooku wylosowane zostaną dwie. Owi szczęśliwcy zostaną nagrodzeni upominkowymi zestawami ufundowanymi przez firmę Telerik.
autor: Po kilku postach opisujących moje wrażenia z pierwszego kontaktu z GTD nadszedł czas na Wielki Finał:) - przedstawienie mojej docelowej (jak na razie) implementacji tej metodyki od strony narzędziowej. Dojście do aktualnego etapu zajęło mi... oj, masę czasu. Można powiedzieć, że kilka dni spędziłem na szukaniu odpowiedniego rozwiązania i przerzucaniu swoich myśli pomiędzy różnymi alternatywnymi podejściami. Stanęło na Evernote, ale po kolei...
Mamy problem z szeroko pojętą jakością oprogramowania. My, czyli nasza cywilizacja. Wciąż nie jesteśmy w stanie stworzyć oprogramowania, które nie będzie zawierało błędów. Nie jesteśmy też w stanie wychwycić wszystkich błędów na etapie testowania. I nie, nie chodzi mi tu (tylko) o błędy związane z bezpieczeństwem. Skutki błędów mogą być zarówno spektakularne (np. eksplozja rakiety Ariane 5), jak i tragiczne (np. ofiary śmiertelne źle działającego sprzętu medycznego). Mogą też być ciekawe, ostatnio przecz...
autor: Jak można było ostatnio zauważyć na blogu - próbuję swoich sił w GTD. Dzisiaj opiszę swoje pierwsze kroki jakie podjąłem przed i po przeczytaniu książki... i co mi to dało. Step by step Tak jak pisałem, wszystko zaczęło się od ok 3-godzinnego szkolenia z zarządzania czasem. Z dużym optymizmem rzuciłem się do wdrażania tego w życie. Pobawiłem się genialną stroną RememberTheMilk (dalej: RTM), postanowiłem: "to jest to!" i zacząłem wrzucać tam wszystko, co miałem w głowie. Po kilku dniach takiej zab...
Podczas buidowania projektu może mojawić się komunikat : " Unable to find manifest signing certificate in the certificate store. "
Test Driven Development Autor: Arkadiusz Benedykt Opublikowano: 2011-07-08 Szybki rozwój technologiczny oraz dynamicznie zmieniające się wymagania rynku powodują, że dzisiejszy programista powinien być Agile – zwinny, giętki ogólnie elastyczny. Na tej fali powstało wiele metodologii, które mają na celu szybsze dostarczanie produktu do klienta. Bez względu na to, czy te metodologie są skuteczne, czy nie, mają jedną wspólną wadę – wymagają zmiany sposobu pracy całego zespołu. Czy możliwe jest prowadzenie ...
Krotki pojawiły się w .Net w wersji 4.0 jednak zostały zagłuszone przez inne nowości w tej wersji przez co niewiele o nich informacji w internecie.
Typy Enum są ładnym rozwiązaniem służącym do definiowania stałych. Zamiast przekazywać nic nie mówiącą liczbę do funkcji, możemy zdefiniować enum i przekazać np. TextAlignment.Left – z pewnością poprawi to czytelność kodu. Czasami jednak chcemy przekazać dwa enumy naraz lub dowolną ich kombinację. W tym celu musimy skorzystać z tzw. flag. Zacznijmy od razu od przykładu:[Flags] enum Days { None =0, Sunday =1, Monday =2, Tuesday =4, Wednesday =8, Thursday =16, Friday =32, Sa...
Zawsze podczas pisania aplikacji okienkowej lub konsolowej używałem metody Environment.Exit() do zakończenia jej działania. Normalka. Natknąłem się jednak na alternatywne rozwiązanie dedykowane dla "sytuacji wyjątkowych". Gdy program znajdzie się w stanie, w którym NIC mu już nie pomoże, to lepszym wyjściem może okazać się zatrzymanie go poprzez wywołanie Environment.FailFast(). Nie dość, że omijamy wówczas wszystkie try/catch oraz finalizery, to jeszcze w eventlogu automatycznie tworzy się wiadomość o ...
uwaga: w poniższym tekście pisząc "blog", robię to w kontekście bloga programistycznego, być może momentami nawet zawężonego do .NET Gdy ponad 3 lata temu (sic!) rozpoczynałem blogowanie, było to trochę jak błądzenie w ciemności. Owszem, zdawałem sobie sprawę z istnienia czegoś takiego jak "blogosfera", jednak odnoszę wrażenie, że dzisiaj mamy do czynienia z o wiele bardziej rozpowszechnionym zjawiskiem. Wtedy bloga nie miał prawie nikt - teraz bloga ma cała masa ludzi, zarówno studentów jak i "zawodowc...
Dlaczego nie lubię override Equal? Wszystko jest dla ludzi. Pewnie się nawet zbłaźnię tą opowieścią :] Ostatnio poszukiwałam błędu w kodzie, w którym przeciążone były funkcje Equals (o czym dowiedziałam się po znacznym czasie spędzonym z debuggerem), a czasem także ==. Błąd okazał się dość paskudny bo był nieprzewidywalny. Problem był po dodaniu elementu do kolekcji - nagle zwracane były nieprawidłowe elementy z kolekcji. Na pierwszy rzut oka Equals wyglądał dobrze, zgodnie z zasadami zalecanymi pr...
Autor: Niejedną już umowę w swoim "wolnostrzelcowym" życiu podpisałem... i właściwie ani razu nie była ona taka jak być powinna. Co prawda za każdym razem następuje pewien postęp, jednak mimo to zawsze w praniu okazuje się, że jednak o czymś - ja lub Klient - nie pomyśleliśmy. Nie wynikało to bynajmniej z chęci jednej strony do oskubania drugiej strony, co raczej z braku doświadczenia lub zbyt nieformalnego podejścia do bardzo ważnych kwestii. Postaram się tutaj zebrać garść porad wyniesionych zarówno z...
Artykuł dla osób, które dopiero zaczynają z testami jednostkowymi. Wprowadzenie, trochę teorii i best practises: http://msdn.microsoft.com/pl-pl/library/testy-jednostkowe-w-visual-studio
Część bywalców kanału #warsztat może wiedzieć, że od jakiegoś czasu w wolnych chwilach rozwijam pewien niewielki projekt. Jest to prosty IRC-owy bot, który potrafi wykonywać różne predefiniowane czynności, dostępne za pomocą komend rozpoczynających się od kropki. Wśród nich mamy między innymi wysyłanie zapytań do wyszukiwarki Google, wyświetlanie skrótów artykułów z Wikipedii, przekazywanie wia...
Jeżeli kiedykolwiek natkniecie się na problem: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS...
Ile raz wam się zdarza czyścić projekt z bin/obj/logs itp. itd.? Mi osobiście dość często. Miałem już dość wykonywania monotonnych czynności otwarcia folderu solution i robienia dwóch search: po bin i obj...
Możliwości kształtowania wyglądu naszych klas dla łatwiejszego debuggowania są bardzo duże. Poprzednio pokazałem jak można wpływać na to, co nam wyświetli debugger o naszej klasie (DebuggerDisplay) oraz jak można tworzyć własne wizualizery klas (Debugger Visualizers). Teraz czas na ukrywanie składowych (np. prywatnych) naszej klasy, aby nie zaśmiecać sobie podglądu stanu okiektu podczas ...
Nie tak dawno przedstawiłem na spotkaniu Łódzkiej grupy profesjonalistów IT & .NET prezentację poświęconą „Managed Extensibility Framework” (patrz informacja: Prezentacja: "Wprowadzenie do Managed Extensibility Framework w .NET 4.0"). Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare
Ostatnio natknąłem się na pułapkę metody GetHashCode(). Jak wiadomo metoda ta służy do sprawdzenia, czy mamy do czynienia z dwoma tymi samymi obiektami jednej klasy. Cytująć MSDN: "A hash code is a numeric value that is used to identify an object during equality testing" Mój błąd polegał na tym, że wiedząc, że GetH...