• Scrum - chleb powszedni

    Post thumbnail
    Post thumbnail
    W dzisiejszych projektach IT bardzo modne stało się pracowanie w metodologii Scrum. Jednak co tak naprawdę kryje się pod tym pojęciem? Jakie kroki trzeba podjąć, aby wdrożyć taki styl pracy? Na te pytania postaram się odpowiedzieć w tym artykule. Dodam jeszcze, że ten wpis jest poniekąd rozszerzeniem poprzedniej publikacji, która... [Czytaj dalej]
  • Zawiłości języka Java #2

    Post thumbnail
    Post thumbnail
    Dzisiejszy wpis jest kontynuacją serii dotyczącej zawiłości języka Java. Jak już wiesz nieznajomość składni danego języka może prowadzić do wielu nieporozumień. Niektóre błędy są możliwe do szybkiego wyłapania, ale niektóre mogą prowadzić do długiej serii debugowania 😔. [Czytaj dalej]
  • SOLID - Dependency inversion principle

    Post thumbnail
    Post thumbnail
    Ostatnią zasadą mnemoniku SOLID jest Odwrócenie Zależności. Polega ona na tym, żeby nie uzależniać modułów wysokiego poziomu od modułów niskiego poziomu. Należy wstawić pomiędzy nie abstrakcję, która nie może zależeć od detali, ale to detale powinny zależeć od niej. Prościej mówiąc zasada Odwrócenia Zależności ma na celu zmniejszenie zależności od... [Czytaj dalej]
  • SOLID - Interface segregation principle

    Post thumbnail
    Post thumbnail
    Przedostatnia zasada mnemoniku SOLID. Według tej wytycznej interfejsy należy odpowiednio segregować. Nie jest zalecane tworzenie interfejsu “od wszystkiego”. Powinno się je konstruować w taki sposób, aby miały tylko jedną odpowiedzialność (Single Responsible Principle). Klas implementujących dany interfejs nie należy zmuszać do implementowania funkcjonalności, których nie potrzebują. Naruszono by w ten... [Czytaj dalej]
  • SOLID - Liskov substitution principle

    Post thumbnail
    Post thumbnail
    Trzecia już zasada mnemoniku SOLID. Nazwa tej reguły pochodzi od nazwiska twórczyni, czyli Barbary Liskov. Według niej w miejscu, gdzie wykorzystywana jest klasa bazowa bez problemu można użyć klas pochodnych, które mogą rozszerzać bazowe funkcjonalności, ale zmiany w nich zawarte nie mogą mieć wpływu na działanie programu oraz jego wynik.... [Czytaj dalej]