[Daj się poznać] Początek kolejnego dnia zmagań

Nie wiem czy to magia poranka czy fakt, że ostatecznie zaktualizowałam Android Studio z wersji 1.4 do 1.5, a także Android Tools, ale dziś wszystko działa! Emulator Nexus 4 z Lollipop uruchomił się bez problemu i nawet mogłam wreszcie zobaczyć to moje nieszczęsne “Hello World” na ekranie. Co więcej – całość działa zauważalnie szybciej, wręcz błyskawicznie. Wreszcie da się pracować! Ale wszystkie te przyjemności dopiero wieczorem:(

[Daj się poznać] Aplikacja konkursowa

Parę dni temu, przy okazji ogłoszenia mojego przystąpienia do konkursu “Daj się poznać” obiecałam, że dziś napiszę więcej o tym co takiego mam zamiar w tym czasie stworzyć.

Zatem moim pomysłem jest stworzenie androidowej aplikacji wspomagającej regularne zakupy. Jak to ma się odbywać? Otóż jeśli będziemy regularnie wpisywać do naszej aplikacji produkty, które kupujemy, to po jakimś czasie ona nauczy się naszych zakupowych nawyków i będzie w stanie sama nam przypomnieć, że w kolejnym tygodniu skończy nam się cukier, mąka i płyn do podłogi. Aplikacja w tym momencie ma nazwę Shopping Advisor, ale podejrzewam, że ulegnie ona zmianie.

“Daj się poznać” – zgłoszenie wysłane

Dziś w końcu zgłosiłam swoje uczestnictwo w konkursie “Daj się poznać” organizowanym przez Maćka Aniserowicza. Konkurs ten polega na programowaniu i blogowaniu o swoich zmaganiach z kodem, pomysłem, językiem itp. Zatem musimy mieć bloga i konto na Githubie, na którym będziemy publikować nasz kod. W ramach konkursu stworzyć można dowolną rzecz – aplikację, framework, bibliotekę – co tylko przyjdzie nam do głowy. Czas trwania to 3 miesiące – od początku marca do końca maja. Natomiast czas nadsyłania zgłoszeń upływa z końcem lutego. Jest konkurs – są też oczywiście nagrody. Więcej informacji można znaleźć na stronie Daj się poznać.

Boiling Frogs 2016 – Nie bądź żabą!

W ostatni weekend miałam okazję uczestniczyć w pierwszej edycji konferencji “Boiling Frogs” odbywającej się we Wrocławiu.

Skąd taka nazwa?
Otóż jest pewna legenda/opowieść/mit mówiąca o tym, że jeśli wrzucimy żabę na gorącą wodę, to ona od razu wręcz instynktownie wyskoczy i ucieknie gdzie pieprz rośnie. Natomiast jeśli będziemy ją powoli podgrzewać w początkowo zimnej wodzie, to nie zauważy że coś jest nie tak i zginie.
Konferencji przyświecał zatem cel, by programiści nie stawali się takimi obojętnymi, powoli zdychającymi żabkami a wręcz przeciwnie – by pobudzić ich do ciągłego rozwoju i zdobywania nowych umiejętności. Stąd podtytuł: “Konferencja Software Craftsmanship”.

Antypattern “God object”

Antypattern zwany “God object” albo także “God class” powstaje w naszym kodzie, gdy obiekt danej klasy zawiera zbyt dużo informacji lub ma zbyt dużo odpowiedzialności.

Jest to złamanie jednej z podstawowych zasad programowania obiektowego, która mówi o tym, by klasa posiadała dokładnie jedną odpowiedzialność.

Co możemy zrobić, by zapobiec tego typu antypatternom? Otóż konstruowane klasy powinny mieć jeden jasny cel i tylko jego realizować. Klasy te powinny zawierać tylko dane i metody, które pracują na realizację tegoż celu. I nic więcej! Jeśli zorientujemy się, że nasza klasa robi coś więcej niż jedną rzecz, najlepiej odzwierciedloną w nazwie tej klasy, to powinniśmy podzielić ja na mniejsze. To samo dotyczy metod.

Zdecydowanie powinniśmy unikać klas czy metod “wszechmogących”, gdyż prowadzi to do bałaganu w kodzie i zgromadzenia bardzo dużej zależności w jednym miejscu.

Jeśli więc zauważymy, że nasza klasa zapisuje dane do bazy, wyświetla komunikaty a do tego wysyła emaile, to znaczy, że coś jest nie tak!!! Taką klasę powinniśmy rozdzielić na trzy – tą zapisującą dane do bazy, tą wyświetlająca komunikaty i tą wysyłąjącą emaile.