Null object mi różnicy nie robi

Untitled

Brzydal

Każdy czegoś nie lubi, ja na przykład nie lubię gdy ktoś siada na moim krześle, a potem ja muszę na nim usiąść, fuj – takie ciepłe, zawsze chwilę odczekuje.
Albo NULL – to ciągłe sprawdzanie czy zmienna nie jest nullem, a potem jeszcze specjalna obsługa tu i tam i jeszcze tam, a potem tam i tam niosą, się ify po całym projekcie, albo wyjątki – BLEH

Sposób

Na szczęście na jedno i drugie jest sposób; każdemu mówię, że na moim krześle się nie siada i głośno warczę gdy ktoś łamię tę regułę, albo czekam aż wystygnie – przecież ich nie pogryzę.
Continue reading

Piszę testy na 100%

testyBajki

Znowu wpis o mitach. Bo jak często widać, że w jakimś projekcie pokrycie testami wynosi 100%? Częściej się o tym mówi, niż widzi.

Menagiery i biznes się chyba pogodził z tym, że ciężko będzie to osiągnąć i miękną, mówią dobra to robimy 80% albo 60% jeśli projekt mało ważny, a metryki jakieś muszą mieć – a szkoda, bo to nie jest aż taka ciężka sprawa.

Dygresja

Teraz taka myśl przyszła mi do głowy, czy ktoś patrzy w ogóle na te procenty, które kryją kod? Bo jak się uprzeć, to wysoki poziom można zrobić, bez napisania sensownych testów. Np. przetestować wszystkie właściwości: zarówno get i set. I już kilka procent zaliczone.Ale nie o tym chciałem pisać.

Co zrobić, gdy za jakiś kawałek kodu ciężko się zabrać, albo jest tam coś systemowego? Ja wtedy zawsze wracam do mojej mantry, którą jest spychologia. Alternatywą jest microsoft fakes – ale to dużo roboty.

Treść właściwa wpisu nastąpi teraz

Continue reading

Bohater drugoplanowy

fluentscheduler

Co można zrobić

Wysyłanie maili, aktualizowanie bazy danych, sprawdzaniem spójności danych, aktualizacje wpisów, boty, sztuczny ruch, te inne rzeczy można robić w tle naszej aplikacji, nie mówię że to najlepszy sposób – trzeba uważać na słówka.

Jak to robić dobrze? Na pewno nie odpalałbym osobnego wątku z aplikacji. Poszukałem i znalazłem u Hanselmana, mówiłem wam że mam z nim zdjęcie? Na blogu Scota jest taki wpis: http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx

Ponieważ nie jestem uparty i nie lubię walczyć ze skomplikowanymi bibliotekami mój wybór padł na FluentScheduler. Sprawił mi najmniej problemów i najkrócej musiałem się zastanawiać, jak się z niego korzysta. Poza jednym szczegółem, ale o tym poniżej. Continue reading

A czemu to tyle trwa

99% procent cieszy tylko przez pierwsze 5 minut – tak słyszałem. Kto z nas nie posiada jakiegoś miernika w tray, czy gdzieś na pulpicie na którym widać ile CPU, jaka temperatura, jaki ram i ile prądu – mój ulubiony to proces monitor  process explorer.

time_bug

Glimpse

Fajnie że jest Glimpse który może zrobic to samo z moja aplikacją asp mvc – no prawie to samo. Aby to zainstalować należy udać się do zarządzania paczkami i wpisać glimpse:

2016-05-12 21_05_06-Itan - Microsoft Visual Studio (Administrator)

Klik-klik i instalacja zakończona. Aby nie marnować czasu od razu powiem że są także dodatkowe paczki dla różnych różności, jako że ja używam EF to zainstalowałem także paczkę dla tego ORM: Glimpse.EF6 ze wszystkimi zależnościami.

Jak to uruchomić? Continue reading