W komentarzach do ostatniego posta wywiązała się dyskusja na temat "a co z metodami prywatnymi?". Odpowiedź najkrótsza z możliwych brzmi: NIC. Zainteresowanych odsyłam do tamtejszych wypowiedzi, a w niniejszej notce postaram się zawarte tam myśli rozwinąć. Zaczynając przygodę z testami jednostkowymi często stawałem przed dylematem "jak mam przetestować funkcjonalność z metod prywatnych?". Sporo się naszukałem i naczytałem o różnych rozwiązaniach, z czego dwa zdawały się być najpopularniejsze i najbardzi...
Strona głównaUżytkownik
gordon_shumway | użytkownik
Na tak postawione pytanie aż chciałoby się odpowiedzieć: "testować wszystko, you fool!". Życie uczy jednak, że takie podejście jest bardzo niepraktyczne i na dłuższą metę nie ma sensu. Dążenie do pokrycia 100% kodu mija się z celem i jest po prostu stratą czasu. O powodach pisania testów pisałem na początku tego cyklu. Są jednak miejsca, w których koszt napisania testu jest bardzo duży, a jego wartość - znikoma. Zacznijmy więc od odpowiedzi na trudniejsze pytanie. Czego nie testować?
Od początków istnienia Internetu, jedną z jego głównych funkcji było zadawanie pytań odpowiednio sprofilowanemu gronu słuchaczy – np. grupom dyskusyjnym Usenetu – i otrzymywanie na nie odpowiedzi. Narzędzia i sposoby komunikacji się zmieniają (mamy teraz fora, strony typu StackExchange, a nawet serwisy społecznościowe), ale ich przydatność w rozwiązywaniu programistycznych problemów pozostaje co najmniej niezmienna.
Jakiś czas temu, pisałem na temat obsługi zdarzeń w jQuery. Dziś chciałbym wrócić do tej tematyki, a konkretniej przyjrzeć się zdarzeniom związanym z obsługą klawiatury. Obsługa klawiatury, jest stosunkowo rzadko implementowana przez programistów JavaScript/jQuery - tak przynajmniej wynika z mojej własnej obserwacji. W gruncie rzeczy, jest to jednak bardzo fajny sposób na zwiększenie usability (z ang. użyteczności) naszej strony. Na skróty klawiszowe, już dawno postawił np. Google w swoim czytniku RSS. ...
W ubiegłym tygodniu, na fanpage'u dostałem informację od jednego z użytkowników o kiepskiej jakości czcionki na blogu. Jak się później okazało, problem dotyczył w głównej mierze Windowsa XP, który nie posiada funkcji wygładzania czcionek. W gruncie rzeczy, używałem dość popularnych czcionek z rodziny Lucinda, które są dostępne na większości dostępnych obecnie OSach i często można je spotkać właśnie w sieci. Niestety, na Windowsie XP wyglądają co by tu delikatnie mówić - po prostu tragicznie. Pojawił się ...
Dzisiaj chciałbym przedstawić działanie narzędzia do mockowania Telerik JustMock. Dostępne są dwie wersje tego narzędzia: darmowa JustMock Free Edition oraz komercyjna, pełne porównanie można znaleźć tutaj: http://www.telerik.com/products/mocking/free.aspx. Główną motywacją do napisania tego postu było to, że czytając posta Macieja Aniserowicza (oczywiście polecam Macieja serię postów o testowaniu: http://www.maciejaniserowicz.com/post/2011/08/08/UT-0-Zapowiedz-minicyklu-o-testach.aspx) zauważyłem w kome...
Webmasterzy praktycznie od zawsze próbowali polepszyć warstwę wizualną swoich witryn, dzięki czemu strony stawały się bardziej atrakcyjniejsze dla potencjalnych odbiorców. Dotychczas większość tricków, takich jak tytułowe cienie i zaokrąglenia realizowano za pomocą programów graficznych. Co mniej sprawni graficznie webmasterzy (lub Ci, którzy niemili pod ręką żadnego grafika), musieli obejść się smakiem. Sytuacja jednak się zmieniła w ostatnim czasie za sprawą CSS 3, który elementy tego typu ma zapisane ...
Kiedyś puściłem cały cykl postów o testowaniu z wykorzystaniem Rhino Mocks, pełna lista postów zebrana jest tutaj. Jednak aby zachować ciągłość aktualnej serii, należy o mockach kilka słów wspomnieć. Mocki służą do symulowania zachowania środowiska zewnętrznego względem testowanej klasy/metody. Pisząc testy jednostkowe sprawdzające logikę biznesową nie powinniśmy skupiać się na tym, czy mamy poprawnie skonfigurowaną bazę danych. Albo czy komunikacja z systemem plików przebiega tak jak powinna. Lub, co ...
Jakoś tak się złożyło, że zapomniałem wspomnieć na blogu o materiałach mojego autorstwa na polskim MSDNie. Współpracując z Tomaszem Kopaczem przygotowałem 4 artykuły...
Programiści .NET nie mogą narzekać na brak narzędzi i bibliotek wspomagających pisanie testów jednostkowych. Zanim przejdziemy jednak do zerkania w ich kierunku, zobaczymy jak można samemu, bez zewnętrznych zależności, rozpocząć pisanie testów. Testować będziemy taką banalną klaskę, której zadaniem jest obliczenie "ile złotych polskich dostanie polski hydraulik Waldek za przywiezione zza zachodniej granicy jełro"...
Każdy webmaster, który w ostatnich latach parał się tworzeniem stron WWW, z pewnością stał przed dylematem, zwanym Internet Explorer. Nie od dziś wiadomo, że przeglądarka ta jest raczej na bakier ze standardami. Można się nawet pokusić o stwierdzenie, że programiści z Redmond, przez dłuższy czas, próbowali nawet tworzyć swoje własne standardy - niestety... Sytuacja powoli zaczyna się jednak zmieniać i mają na to wpływ zasadniczo dwa czynniki: Po pierwsze, udział w rynku Internet Explorera maleje. Niest...
Miło mi poinformować, że na polskim MSDN oraz na Channel9 pojawiło się (i będzie pojawiać) dużo ciekawych treści dotyczących Web Platform Installer’a, WebMatrix’a, Galerii aplikacji web oraz Umbraco. Przede wszystkim zapraszam do obejrzenia zwiastuna kursu video ( http://www.youtube.com/watch?v=VCHRCVcO-r0 ) Całość kursu, którego odcinki będą pojawiać się w każdy wtorek i czwartek znaleźć można na specjalnie przygotowanej witrynie. Dodatkowo dla osób chcących poznać system Umbraco, został przygotowany ...
Z przyjemnością informujemy, że rejestracja na szkolenie, o którym pisaliśmy w poprzedniej notce, została otwarta. Widocznie odzew ze strony polskiej społeczności programistów był wystarczający, żeby Ayende Rahien zdecydował się poprowadzić ten kurs. Rejestrować można się na tej stronie: http://www.eventbee.com/v/ayende/event?eid=887726315. Zachęcamy do porozmawiania ze swoimi przełożonymi o możliwości sfinansowania Wam takiego szkolenia. W wielu firmach zdarza się bowiem, że budżet na takie wydar...
Case: Dwa dni temu w ramach jednego z projektów w Billennium przyszedł do mnie kolega z pytaniem o możliwość wyświetlenia dat w szczegółach zadań w TFS. Zadania zostały zaimportowane przeze mnie z MS Projecta i faktycznie daty rozpoczęcia i zakończenia domyślnie nie pokazywały się nigdzie na formularzu zadania ani na liście zadań(screeny poniżej). Na szczęście z pomocą TFS Power Toolsów udało mi się sprawnie temat ogarnąć i poniżej prezentuję rozwiązanie.
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...
Moje ostatnie dwie godziny życia spędziłem na rozwiązaniu problemu: System.Security.VerificationException: Operation could destabilize the runtime. Który występował w trakcie serializacji obiektu z wykorzystaniem JSON.NET podczas debugowania aplikacji – po deployu nie występował. By było zabawniej, przy wykorzystaniu JavaScriptSerializer jak i na moim komputerze firmowym, problem nie występował. Czyli coś musiało być nie tak z moją konfiguracją. Jedyną różnicą było włączone… IntelliTrace.
Webmaster, to druga obok aplikacji tygodnia cykliczna seria wpisów, jaką chcę wprowadzić na Alt Control Delete. Celem wpisów tego typu, będzie prezentacja praktycznych i zarazem szybkich w wykonaniu sztuczek, które możemy zastosować na stronie by ją zoptymalizować/uatrakcyjnić/unowocześnić (wykreśl dowolną opcję). Na pierwszy ogień: CSS Sprites.
W przypadkach, gdy dane edytowane są dość rzadko i przez niewielką liczbę użytkowników, najczęściej stosowanym modelem blokowania danych do edycji jest… brak blokowania. Mówiąc konkretnie – chodzi o OCC, czyli Optimistic Concurrency Control. Pytanie to – w wersji teoretycznej – poruszane było nie tak dawno na devpytaniach. Jeśli możemy założyć, że konflikty będą występować rzadko lub jest to akceptowalne w konkretnym przypadku, który mamy zaprogramować, użycie optymistycznego blokowania jest dobrym i pro...
Bazy danych i XML 4901 dni, 8 godzin, 38 minut temu 310 źrodło rozwiń
W ramach mojego przygotowania do egzaminu 70-511 (Windows Applications Development with Microsoft .NET Framework 4) oraz uczestnictwa w „StudyGroup” organizowanym przez Łódzką Grupę Profesionalistów IT & .NET opracowałem zagadnienia związane z tematem określonym w training kicie jako „Enhancing Usability”. Z moimi czytelnikami chciałbym podzielić się moimi opracowaniami. W tym wpisie będzie o jednoczesnym wykorzystaniu i integracji Windows Forms i WPF w jednej aplikacji. Zacznijmy może od stwierdzeni...