Relacja z Making Software Developers’ Meetup Summer 2016

Hej, niecałe dwa tygodnie temu miałem okazję uczestniczyć w konferencji Making Software Developers’ Meetup Summer 2016, która odbyła się 14 czerwca w Krakowie. Dziś krótka notka o prezentacjach jakie miały tam miejsce. Nie są to tylko suche skróty z prezentacji ale moje własne wrażenia i przemyślenia.

Mieliśmy okazję wziąć udział w 4 następujących po sobie (z przerwami oczywiście 🙂 ) prelekcjach:

Pierwszą zaczął Matthew Mols. W swoim wystąpieniu „Embracing Failure: Building software from a new perspective” podkreślał wagę bycia przygotowanym na błędy w oprogramowaniu jakie tworzymy. Uczulał też na to, że programiści powinni chcieć i mieć więcej do powiedzenia na temat gotowości oprogramowania do wdrożenia na produkcję.
Generalnie bardzo ciekawe i zgadzam się z nim w tej kwestii. Dla mnie było to mało zaskakujące: nic czego nie wiedziałem czy nie uważałem wcześniej. Jednocześnie chce napisać, że Matt poruszył ważne tematy i uważam, że warto je propagować i nawet powtarzać jeśli trzeba. A co próbował przekazać:

Czytaj dalej

Jak stworzyć własny obiekt immutable w .Net i czego nie robić?

Hej, dzisiaj kontynuacja poprzedniego wpisu o niezmiennych obiektach.

Jako programiści .Net już teraz pracujemy z niezmiennymi obiektami na co dzień. Przykładem może być String albo DateTime. Niestety sam .Net nie pozwala nam jeszcze na tworzenie takich obiektów w bardzo łatwy sposób, np za pomocą samej adnotacji na klasie. Są plany aby to zmienić w kolejnych wersjach językach, ale zobaczymy co z tego i kiedy wyjdzie. W tym momencie, aby stworzyć taki obiekt, sami musimy zadbać o jego niezmienność. Co też nie jest trudne.

Przykładowa niezmienna klasa może wyglądać w ten sposób:

Czytaj dalej

Czym są obiekty immutable i kiedy oraz dlaczego warto je stosować?

Obiekty immutable, jak wskazuje ich nazwa, charakteryzują się tym, że nie można ich prosto zmienić po tym jak zostały stworzone (można na przykład dostać się do samej pamięci, czy też użyć refleksji). Nie ważne ile mają pól i właściwości oraz jakiego są typu. Czasem, potrzebujemy taki obiekt zmienić, wtedy zmieniamy go w całości. Możemy po prostu stworzyć nowy obiekt tej samej klasy mający nowe wartości.


Co nam to daje?

Zalet posiadania i używania takich obiektów jest kilka.

Czytaj dalej

Czym jest enkapsulacja i co daje jej stosowanie?

Czym w ogóle jest enkapsulacja (zwana również hermetyzacją)? Tak z grubsza:
Jest to ukrywanie. Nasze obiekty powinny być skryte i nieśmiałe 😉 i nie uzewnętrzniać się… to znaczy swoich bebeszków. Co ukrywamy? Wszystko co się da, przede wszystkim pola klasy i w C# właściwości (properties). W Javie zamiast właściwości są metody getX setX, te same gettery i settery tylko w innej formie. Najlepiej je ukryć, a raczej ich nie używać… ale życie często jest inne i musimy je udostępnić (nie, nie musimy, świadomie wtedy łamiemy enkapsulację bo jest łatwiej – co nie znaczy zawsze lepiej). Wtedy chociaż settery powinny być ukryte lub nie istnieć w ogóle.

A jak ukrywamy?

Czytaj dalej