Better Software Design

Better Software Design podcast. Rozmowy o projektowaniu oprogramowania, architekturze i wyzwaniach z tym związanych.
Technologia
17. O prawie Demeter, Clean Code i zasadach SOLID z Piotrem Stawirejem
2020-10-06 01:00:00
Materiały dodatkowe:
- Definicja Law of Demeter, Wikipedia
- Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin, klasyczna książka Uncle Boba na temat czystego kodu
- Agile Principles, Patterns, and Practices in C#, Robert C. Martin, Mikah Martin
- Test Driven Development: By Example, Kent Beck, książka, która pojawiła się już przy okazji poprzedniego odcinka o Test Driven Development
- Domain-Driven Design: Tackling Complexity in the Heart of Software, Eric Evans, z rekomendacją od Piotra, aby szczególną uwagę zwrócić na rozdział 2 tej książki, czyli "Communication and the Use of Language"
Wspomniane przez nas repozytorium z ciekawie zaimplementowaną piramidą testów i nawiązujące do tematyki odcinka można znaleźć na BitBuckecie Piotra, https://bitbucket.org/piotrstawirej/financial-system/src/master/.
16. O Test Driven Development z Kubą Pilimonem
2020-09-29 01:00:12
Materiały dodatkowe:
- Growing Object-Oriented Software Guided by Tests, Steve Freeman, Pryce, klasyka gatunku na temat implementacji systemów w podejściu Object-Oriented i Test Driven Development
- Test Driven Development: By Example, Kent Beck, druga z klasycznych książek na temat TDD
- Mocks, Fakes, Stubs and Dummies, xUnitPatterns.com, zestawienie terminologii Test Doubles w literaturze
15. O Test Smells z Olą Kunysz
2020-09-22 01:00:01
Materiały dodatkowe:
- xUnitPatterns Test Smells, lista Test Smells według Gerarda Meszarosa
- Software Unit Tests Smells, uzupełnienie listy o inne smelle i jedocześnie tool do ich wykrywania
- PIT Mutation Testing, testowanie mutacyjne w Java
- Infectionn PHP, testowanie mutacyjne w PHP
- Stryket.NET, testowanie mutacyjne w .NET
- Mutant, testowanie mutacyjne w Ruby
- Data i czas dla programistów, Michał Pipa, Boiling Frogs 2017, ciekawa prezentacja na temat "jak bardzo skomplikowany może być czas"
14. Domain Driven Design Essentials: Value Object
2020-09-15 01:00:16
Materiały dodatkowe:
- Value Object, bliki Martina Fowlera, strona, której przedstawiać raczej nie trzeba...
- Value Object, c2 wiki
- Value Object Should Be Immutable, c2 wiki
- The CHECKS Pattern Language of Information Integrity, Ward Cunningham, zestawienie 11 wzorców zarządzania spójnością informacji, gdzie opisany jest wzorzec Whole Value
13. O architekturze mikroserwisowej z Kubą Nabrdalikiem
2020-09-08 01:00:04
Materiały dodatkowe:
- Common mistakes when moving to microservices & cloud, prezentacja Kuby z Confitury 2019, same slajdy można pobrać tutaj
- Designing Event-Driven Systems: Concepts and Patterns for Streaming Services with Apache Kafka, Ben Stopford, wspomniana w rozmowie książka o projektowaniu systemów w architekturze Event-Driven
- The Influence of Organizational Structure on Software Quality: An Empirical Case Study, opracowanie case study Microsoftu od Nachiappan Nagappan, Brendan Murphy, Victor R. Basili
- The Cathedral and the Bazaar, Eric Steven Raymond, wersja Postscript eseju Erica Raymonda o projektach Open-Source z obserwacji na przykładzie m.in. jądra Linuksa
Polecam także śledzić profil Kuby na Twitterze, pojawia się tam sporo ciekawych materiałów i treści.
12. O zbieraniu i analizie wymagań z Michałem Bartyzelem
2020-09-01 01:00:11
Materiały dodatkowe:
- Blog Michała Bartyzela, sporo ciekawych tekstów dotyczących także zbierania i analizy wymagań w projektach IT, treści jest tu dużo, Michał pisze tego bloga od 12 lat
- Writing Effective Use-Cases, Alistair Cockburn
- Patterns for Effective Use Cases, Alistair Cockburn
Zainteresowanych tą tematyką polecam także grupę Michała na Facebooku IT spotyka klienta, gdzie można o inch podyskutować albo poczytać.
11. Fast Update #1
2020-08-31 01:00:24
10. O refaktoryzacji The Arkency Way z Andrzejem Krzywdą
2020-08-11 01:00:39
Materiały dodatkowe:
- Refactoring: Improving the Design of Existing Code,Martin Fowler, with Kent Beck , klasyka gatunku
- Working Effectively with Legacy Code, Michael Feathers, druga klasyka warta przeczytania i posiadania w swojej biblioteczce
- Fearless Refactoring: Rails Controllers, Andrzej Krzywda, wspomniana przez Andrzeja jego książka o refaktoryzacji Railsowych kontrolerów
- Katalog przekształceń refaktoryzacyjnych Martina Fowlera
- TrunkBasedDevelopment.com, skarbnica wiedzy jeśli chodzi o podejście Trunk Based. Można tu znaleźć zarówno przypadki użycia tej techniki, jak i przydatne wzorce, rozwiązujące typowe problemy
Nasze profile na Instagramie:
Przy okazji wizyty Andrzeja w studio nagraliśmy coś jeszcze! Zapraszam do śledzenia mojego kanału na YouTube.
9. O modelu i strukturach wielkiej skali z Kubą Pilimonem
2020-07-14 01:00:05
Materiały dodatkowe:
- Eric Evans, Domain Driven Design: Tackling Complexity In The Hearth Of Software, rozdział 16
- Zaawansowane modelowanie DDD, techniki strategiczne: konteksty i architektura zdarzeniowa, Sławek Sobótka, część 2 cyklu artykułów "Domain Driven Design krok po kroku" Sławka
Wspominaliśmy także kanały YouTube:
8. O Bounded Contextach ze Sławkiem Sobótką
2020-06-23 01:00:07
Materiały:
- Bounded Context, krótkie wprowadzenie do wzorca na Bliki Martina Fowlera
- Event Storming - od analizy do architektury, prezentacja Sławka Sobótki o wykorzystaniu EventStormingu w procesie analizy, ponad 2.5 godziny konkretnej wiedzy
- The Art of Discovering Bounded Contexts, prezentacja Nicka Tune
- The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully, Gerald M. Weinberg
- More Secrets of Consulting: The Consultant's Tool Kit, Gerald M. Weinberg
- Divergent, Emergent, Convergent Thinking - 3 Thinking Modes, procesy kreatywne i mechanika ich działania