SlideShare a Scribd company logo
1 of 19
/GrandParadePoland
www.grandparade.co.uk
Gorsze jest lepsze
Dobre strony złego kodu
Grzegorz Sikorski
LISP vs C
/GrandParadePoland
www.grandparade.co.uk
VHS vs Betamax
iPhone vs Android
Jak dobry jest kod bibliotek i frameworków których używasz?
/GrandParadePoland
www.grandparade.co.uk
W którym miejscu jest “dobrze”?
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
Walidacja adresu email przy pomocy wyrażeń regularnych
OK rozwiązanie - RFC się raczej nie zmieni
Inżynieria oprogramowania w pigułce
/GrandParadePoland
www.grandparade.co.uk
Cel nr 1: Upewnić się, że nie celujemy w środek
Nie jesteś sam
/GrandParadePoland
www.grandparade.co.uk
Quality Code oznacza Quality Assurance - jak wcześnie mogą zostać skutecznie wprowadzeni
do projektu? Czy ich praca nie pójdzie na marne w razie zmian?
Bariera wprowadzenia do projektu oznacza ciągle rosnący Bus Factor i opóźnienia w razie
problemów
Manager, Project Owner mogą a czasem nawet powinni mieć sprzeczne z programistami cele
Zespół to ludzie o różnych zestawach umiejętności jest prawie pewne że nawet słabych
członków zespołu możesz dobrze wykorzystać
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
•Pierwszy dzień kodowania
•Stary format danych - obsługuje stary widget
•Dyskusja o wymaganiach nowej wersji właściwie toczy się sama
•Test został z nami do tej pory
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
Mam trudny problem…
/GrandParadePoland
www.grandparade.co.uk
/GrandParadePoland
www.grandparade.co.uk
komponentu do
frameworka
https://www.youtube.com/watch?v=nYkdrAPrdcw
Redux - prosty kod
https://egghead.io/lessons/javascript-redux-the-single-
immutable-state-tree?course=getting-started-with-redux
https://egghead.io/lessons/javascript-redux-the-single-
immutable-state-tree?course=getting-started-with-redux
https://egghead.io/lessons/javascript-redux-the-single-
immutable-state-tree?course=getting-started-with-redux
https://egghead.io/lessons/javascript-redux-the-single-
immutable-state-tree?course=getting-started-with-redux
/GrandParadePoland
www.grandparade.co.uk
Podsumowując:
Piszcie testy!
Jeśli jeszcze nie używacie gumowej kaczki - nie wiecie co tracicie
Ominięcie problemu często jest lepsze niż jego sprytne rozwiązanie
Jeśli nie jesteś w stanie opisać problemu ani rozwiązania bez odnoszenia się do
kodu, albo nie jesteś w stanie napisać testów - kod jest zły
/GrandParadePoland
www.grandparade.co.uk
Dzięki!
/GrandParadePoland
www.grandparade.co.uk

More Related Content

More from Business Link Krakow

More from Business Link Krakow (20)

Paweł Kowalczyk (Codete) - Continuous integration for iOS
Paweł Kowalczyk (Codete) - Continuous integration for iOSPaweł Kowalczyk (Codete) - Continuous integration for iOS
Paweł Kowalczyk (Codete) - Continuous integration for iOS
 
Mateusz Zając (Codete) - Swift in Production
Mateusz Zając (Codete)  - Swift in ProductionMateusz Zając (Codete)  - Swift in Production
Mateusz Zając (Codete) - Swift in Production
 
Jakub Mrowiec (Grand Parade Poland) - Monumentum Case Study
Jakub Mrowiec (Grand Parade Poland) - Monumentum Case StudyJakub Mrowiec (Grand Parade Poland) - Monumentum Case Study
Jakub Mrowiec (Grand Parade Poland) - Monumentum Case Study
 
Bartosz Zaczyński (Grand Parade Poland) - WebSocket for Dummies
Bartosz Zaczyński (Grand Parade Poland) - WebSocket for DummiesBartosz Zaczyński (Grand Parade Poland) - WebSocket for Dummies
Bartosz Zaczyński (Grand Parade Poland) - WebSocket for Dummies
 
Piotr Grabski-Gradziński (VML) - To jak zrobimy ten projekt? Czyli o doborze ...
Piotr Grabski-Gradziński (VML) - To jak zrobimy ten projekt? Czyli o doborze ...Piotr Grabski-Gradziński (VML) - To jak zrobimy ten projekt? Czyli o doborze ...
Piotr Grabski-Gradziński (VML) - To jak zrobimy ten projekt? Czyli o doborze ...
 
Paweł Dyrek (Codete) - Product Delivery
Paweł Dyrek (Codete) - Product DeliveryPaweł Dyrek (Codete) - Product Delivery
Paweł Dyrek (Codete) - Product Delivery
 
Maciej Malarz (Codete) - Database? Meh, implementation detail
Maciej Malarz (Codete) - Database? Meh, implementation detailMaciej Malarz (Codete) - Database? Meh, implementation detail
Maciej Malarz (Codete) - Database? Meh, implementation detail
 
Mateusz Chłodnicki - Case study: Shuttout.com
Mateusz Chłodnicki - Case study: Shuttout.comMateusz Chłodnicki - Case study: Shuttout.com
Mateusz Chłodnicki - Case study: Shuttout.com
 
Tomasz Chołast - Case study: zrzutka.pl
Tomasz Chołast - Case study: zrzutka.plTomasz Chołast - Case study: zrzutka.pl
Tomasz Chołast - Case study: zrzutka.pl
 
Mateusz Hauschild - Jak crowdfunding zmienił rynek gier planszowych?
Mateusz Hauschild - Jak crowdfunding zmienił rynek gier planszowych?Mateusz Hauschild - Jak crowdfunding zmienił rynek gier planszowych?
Mateusz Hauschild - Jak crowdfunding zmienił rynek gier planszowych?
 
Filip Karkosz & Dominik Szloński - Jak z zaangażowania konsumenta uczynić źró...
Filip Karkosz & Dominik Szloński - Jak z zaangażowania konsumenta uczynić źró...Filip Karkosz & Dominik Szloński - Jak z zaangażowania konsumenta uczynić źró...
Filip Karkosz & Dominik Szloński - Jak z zaangażowania konsumenta uczynić źró...
 
Marek Cieśla - Kickstarter.com
Marek Cieśla - Kickstarter.comMarek Cieśla - Kickstarter.com
Marek Cieśla - Kickstarter.com
 
Bartosz Filip Malinowski - Crowdsourcing dla Starbucksa, małych startupów i o...
Bartosz Filip Malinowski - Crowdsourcing dla Starbucksa, małych startupów i o...Bartosz Filip Malinowski - Crowdsourcing dla Starbucksa, małych startupów i o...
Bartosz Filip Malinowski - Crowdsourcing dla Starbucksa, małych startupów i o...
 
Crowdinvesting - inwestycyjne modele crowdfundingu - Karol Król
Crowdinvesting - inwestycyjne modele crowdfundingu - Karol KrólCrowdinvesting - inwestycyjne modele crowdfundingu - Karol Król
Crowdinvesting - inwestycyjne modele crowdfundingu - Karol Król
 
Fundusze UE - nowe szanse, nowe możliwości dla start-up na lata 2014-2020
Fundusze UE - nowe szanse, nowe możliwości dla start-up na lata 2014-2020Fundusze UE - nowe szanse, nowe możliwości dla start-up na lata 2014-2020
Fundusze UE - nowe szanse, nowe możliwości dla start-up na lata 2014-2020
 
Pułapki podatkowe
Pułapki podatkowe Pułapki podatkowe
Pułapki podatkowe
 
Paweł Gruszecki - Wybór modelu biznesowego, zarządzanie ryzykiem prawnym
Paweł Gruszecki - Wybór modelu biznesowego, zarządzanie ryzykiem prawnymPaweł Gruszecki - Wybór modelu biznesowego, zarządzanie ryzykiem prawnym
Paweł Gruszecki - Wybór modelu biznesowego, zarządzanie ryzykiem prawnym
 
Nowe szanse rozwoju dla innowacyjnych projektów z wykorzystaniem funduszy eur...
Nowe szanse rozwoju dla innowacyjnych projektów z wykorzystaniem funduszy eur...Nowe szanse rozwoju dla innowacyjnych projektów z wykorzystaniem funduszy eur...
Nowe szanse rozwoju dla innowacyjnych projektów z wykorzystaniem funduszy eur...
 
Regionalny Program Operacyjny (2014-2020)
Regionalny Program Operacyjny (2014-2020)Regionalny Program Operacyjny (2014-2020)
Regionalny Program Operacyjny (2014-2020)
 
Kompleksowe doradztwo europejskie dla startupów (1)
Kompleksowe doradztwo europejskie dla startupów  (1)Kompleksowe doradztwo europejskie dla startupów  (1)
Kompleksowe doradztwo europejskie dla startupów (1)
 

Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego kodu