Code

Refaktoring IoT do maszyny stanów

Kilka tygodni temu wspominałem o potrzebie refaktoringu aplikacji IsTableBusy. Planowałem użycie wzorca projektowego Command i Active Object. Jednak po przemyśleniach, bliżej kodu, doszedłem do wniosku, że w tym wypadku lepsze będzie użycie maszyny stanów. Poniżej przedstawiam uzasadnienie dlaczego tak oraz fragmenty kodu.

(więcej…)

Refactoring

Jak refaktorować – 9 porad, które pomogą naprawić Twój kod

Wykonanie dużego refaktoringu, nie jest zadaniem prostym. Wymaga skupienia, doświadczenia i dyscypliny. Robiłem to wielokrotnie, z różnymi rezultatami. Z każdym następnym razem staję się coraz bardziej doświadczony. W trakcie swojej pracy udało mi się wypracować kilka zasad, które czynią tę czynność łatwiejszą i bezpieczniejszą. Część z nich to dobre praktyki przy refaktoringu, a cześć to po prostu zasady tworzenia dobrego kodu, które w tej sytuacji pomagają mi ogarnąć kod. Wszystkie jednak odpowiadają na pytanie: "Jak refaktorować?". Zapraszam serdecznie!

(więcej…)

CI

Budowanie projektu i uruchamianie testów z Cake

Większość programistycznej pracy polega na automatyzowaniu, zazwyczaj biznesu klienta. Jednak duża część programistycznych zadań również może być robiona samoczynnie. Przykładowo całe podejście Continuous Integration (Ciągła Integracja) polega na automatyzowaniu pracy developerskiej. Dzisiaj opiszę jak skonfigurować proces budowania aplikacji i uruchamianie testów przy pomocy Cake na przykładzie projektu IsTableBusy.

(więcej…)

blog

Podsumowanie drugiego półrocza 2017

Rok 2017 zakończył się. Nadszedł czas na podsumowanie ostatniego półrocza mojej działalności okołoblogowej. Na początek garść statystyk, które na szczęście przedstawiają tendencję wzrostową. Następnie przechodzę do akcji zakończonych, a jakże, sukcesem. Na końcu przedstawię wstępne plany na najbliższy okres.

(więcej…)

wizja

Dociekliwość programisty. Pytaj dlaczego.

Dzisiejszym tematem jest dociekliwość programisty. Cecha, niezależna od technologii, nakierowująca między innymi programistów, na odpowiednie tory. Pomagająca poznać prawdziwe potrzeby klienta, zdobyć wiedzę, czy ograniczyć ilość pracy potrzebnej do osiągnięcia celu. Jest nie do przecenienia w codziennej pracy i poza nią. Dlaczego pytanie "Dlaczego?" jest aż tak istotne? Właśnie na to pytanie postaram się dziś odpowiedzieć. Zapraszam.

(więcej…)

wzorce

Plan refaktoringu IoT do Active Object

W wolnym czasie piszę aplikację peryferyjną do IsTableBusy na bazie WeMos D1 mini. Nie jest ona jeszcze zbyt skomplikowana, ponieważ traktuję ten projekt mocno edukacyjnie. Większość czasu przeznaczonego na ten projekt spędzam na czytaniu internetu i dopisywaniu małych kawałków kodu. Dzięki temu idzie on do przodu, niestety praca w takim trybie nie sprzyja czystości kodu. Nadszedł więc czas na porządki.

(więcej…)

wzorce

Zalety wzorca projektowego Command

Wzorców projektowych jest cała masa. Jedne są skomplikowane, inne wręcz banalnie proste. Dzisiaj przedstawię niebezpośrednie zalety używania jednego z nich, tego, którego mimo swojej prostoty, możliwości są wręcz nieograniczone. Skupię się, nie tyle na jego praktycznym wykorzystaniu, co na ogólnych zaletach jakie dostarcza wzorzec projektowy Command, po polsku Polecenie.

(więcej…)

powershell

Dodawanie daty do nazwy zdjęcia

Lubię robić zdjęcia. Jakiś czas temu stanąłem przed problemem uporządkowania archiwum zdjęć. Udało mi się to ogarnąć rozdzielając zdjęcia na odpowiedne katalogi. Problem natomiast się skomplikował w sytuacji, gdy zacząłem używać więcej niż jednego urządzenia do fotografowania. Uważam, że zdjęcia powinny być posortowane chronologicznie. Wpadłem zatem na pomysł, aby dopisywać datę i czas zrobienia zdjęcia, jako prefiks do każdej fotografii. Aby się nie napracować napisałem skrypt w powershellu. Jeżeli jesteś ciekawy jak on działa to zapraszam najserdeczniej.

(więcej…)

review

Jakie są korzyści z dobrego Code Review

Czym jest Inspekcja Kodu? Każdy wie lub może się szybko dowiedzieć, czytając na wikipedi. Zastanawiałem się ostatnio, czy czas poświęcony na tę czynność, mógłby być wykorzystany lepiej. Odpowiedź na to pytanie zależy od masy czynników. Takich jak podejście osób uczestniczących w procesie, czy specyfiki projektu. Postanowiłem zatem opisać rzeczy bardziej stałe, czyli jakie można osiągnąć korzyści z dobrego Code Review.

(więcej…)