Ślub. Factory żeni się z IOC

Małżeństwo

Małżeństwo to nie taka prosta sprawa. Są różne i różnie się układają, różni ludzie się do tego mieszają czasem wychodzi to lepiej a czasem gorzej. Podobnie jest w programowaniu. Ostatnio musiałem ożenić IOC z Factory. Problem który się pojawił to tworzenie obiektu na podstawie jakiegoś tam parametru wejściowego, na początku miałem tylko jeden przypadek (np. RssChannel) i musiałem tylko ten przypadek obsługiwać, mogłem spokojnie wstrzyknąć handler i było cacy. Potem (w zasadzie teraz) mam drugi przypadek (Person) i na początku także wstrzykiwałem sobie handler dla tego przypadku. W ramach porządkowania robiłem małe poprawki w kodzie i nie mogłem przejść obok tego bez reakcji. Poza tym OCP patrzyło na mnie spode łba tak paskudnie. 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

Kandydacie na programistę

komunikacja

Dla wszystkich młodych, rozpoczynających praktyki czy rozpoczynających pracy w zawodzie programisty, kilka myśli którymi chciałbym się z wami podzielić.

Od początku

Gdy wysyłasz swoje CV nie rozdmuchuj go na 3 strony, nie używaj podwójnych enterów, tylko po to żeby było więcej. Ja np. swoje ostatnio skróciłem do jednej strony! Czy sądzisz że jest ono oceniane po ilości kartek? Nie masz co wpisać? Nie przejmuj się tym, jesteś po studiach – wpisz to co umiesz, to co chcesz robić, napisz co najmniej jedno zdanie o sobie.
Wiesz co się bardzo ceni podoba w CV? Link do twojego twojej szuflady z projektami. Używasz githuba, bitbucketa, vs online, czy innego repozytorium z kodem? – wpisz to na CV i wyślij. Masz twittera, na którym jesteś aktywny – wrzuć – o ile aktywność jest związana z zawodem. Korzystasz ze stack overflow i tez jesteś tam aktywny? – wrzuć linka do profilu. Wszystko to gdzie widać twoją aktywność programistyczną. Nawet jeśli jest tego mało, nawet jeśli uważasz że to jest słabe, daj się poznać 😉
A jeśli nic nie masz? To napisz co chcesz robić i próbuj, sytuacja taka, że miejsc więcej niż ludzi. 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