Archive for the ‘Best Practices’ Category
Czego o programowaniu może nauczyć nas Gordon Ramsay?
Podczas tegorocznej Confitury, Piotr Modzelewski stara się na chwilę zrzucić mentalne kajdany unikalności, jakie umiemy zakładać sobie w codziennej pracy i spogląda na nasz zawód w nieco innym świetle. Razem z publicznością stara się odpowiedzieć na pytanie: czy możemy uczyć się od innych, o wiele starszych profesji? Czy tylko my zmagamy się z terminami releasu i wymaganiami jakości? Uncle Bob nie raz porównuje programistę do księgowego; co wyniknie kiedy porówna się go do pracownika restauracji? Zapraszam do obejrzenia prezentacji.
Read the rest of this entry »
Git Ready! Workflows Webinar from Atlassian
W ubiegłym tygodniu Atlassian zorganizował webinarium na temat gita. Prowadzącym był Nicola Paolucci – speaker na tegorocznym Atlassian Summit. Poniżej zamieszczam nagranie:
Read the rest of this entry »
Git Flow – narzędzie do integracji VCS z procesem wytwarzania oprogramowania
O systemie Git pisałem już kilka razy. Dziś pora na Git Flow, czyli nakładkę na Gita, która umożliwia pełną integrację z procesem wytwarzania (i życia) oprogramowania. Narzędzie dostarcza zbiór komend ułatwiających zarządzanie branchami, które wpisują się w workflow i cykl życia oprogramowania. W skrócie, pomysł polega na tym, by podzielić repozytorium na kilka gałęzi: Read the rest of this entry »
Design Patterns in modern JVM Languages
Dobrze znane nam Design Patterns traktują o wzorcach projektowych w kontekście OOP. Venkat Subramaniam pokazuje kilka wzorców zorientowanych na języki dynamiczne i funkcyjne. Wzorce te korzystają z domknięć (closures) oraz z kilku feature’ów funkcyjnego stylu programowania.
Read the rest of this entry »
Robert C. Martin – Craftsmanship and Policy
Czym jest profesja zwana Software Developer? Co znaczy być profesjonalistą w tej dziedzinie? Dlaczego wciąż – mimo postępu technologicznego (Assembler -> C -> OO) oraz rozwoju mentalnego (Design Patterns, Agile, XP, SOLID) – programiści obwiniani są przez „biznes” za opóźnianie projektów?
Read the rest of this entry »
Testing and Refactoring Legacy Code
Na tegorocznym GeeCONie Sandro Mancuso pokazał (kodując na żywo!), jak radzić sobie z legacy code, jak krok po kroku – dopisując testy – poprawić jakość zastanego kodu.
Read the rest of this entry »
Lazy Loading nie ma sensu?
W najnowszym artykule z serii Receptury projektowe – niezbędnik początkującego architekta, Sławek Sobótka traktuje o mapowaniu relacyjno-obiektowym prawdziwych obiektów na kanwie DDD i JPA. Udowadnia 3 tezy:
- Lazy Loading nie ma sensu,
- Mapowanie @OneToMany z wykorzystaniem tabeli linkującej (domyślne zachowanie hibernate) nie ma sensu,
- Blokowanie Optymistyczne oparte jedynie na @Version nie ma sensu
Artykuł tradycyjnie dostępny jest za darmo w wersji pdf na stronie Autora.
Zarządzenie złożonością przez trójpodział logiki – Open/closed principle w praktyce
Open/closed Principle to jedna z zasad SOLID.
Kod powinien być otwarty na rozbudowę jak kwiat lotosu o świcie i zamknięty na zmiany jak kwiat lotosu o zmierzchu
Jednak jak w praktyce zastosować tą zasadę? Czy aplikuje się ona jedynie na poziomie Object Oriented Design czy również na poziomie architektury aplikacyjnej?
Read the rest of this entry »
4C – Zwinne podejście do odkrywania i dokumentowania architektury
W kwietniowym wydaniu magazynu Programista ukazała się trzecia część artykułu z cyklu Receptury projektowe – niezbędnik początkującego architekta. Tym razem Sławek Sobótka odpowiada na pytanie: W jaki sposób dokumentować architekturę systemu?
Read the rest of this entry »
Mock czy Stub? Command-query Separation prawdę ci powie
W lutym pisałem o Czterech smakach odwracania (i utraty) kontroli – pierwszym artykule z cyklu Receptury projektowe – niezbędnik początkującego architekta. Dziś zachęcam do lektury drugiej części pt. Mock czy Stub? Command-query Separation prawdę ci powie.
Read the rest of this entry »