SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Mehr von Business Link Krakow

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 iOSBusiness Link Krakow
 
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 ProductionBusiness Link Krakow
 
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 StudyBusiness Link Krakow
 
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 DummiesBusiness Link Krakow
 
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 ...Business Link Krakow
 
Paweł Dyrek (Codete) - Product Delivery
Paweł Dyrek (Codete) - Product DeliveryPaweł Dyrek (Codete) - Product Delivery
Paweł Dyrek (Codete) - Product DeliveryBusiness Link Krakow
 
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 detailBusiness Link Krakow
 
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.comBusiness Link Krakow
 
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.plBusiness Link Krakow
 
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?Business Link Krakow
 
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ó...Business Link Krakow
 
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...Business Link Krakow
 
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ólBusiness Link Krakow
 
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-2020Business Link Krakow
 
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 prawnymBusiness Link Krakow
 
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...Business Link Krakow
 
Regionalny Program Operacyjny (2014-2020)
Regionalny Program Operacyjny (2014-2020)Regionalny Program Operacyjny (2014-2020)
Regionalny Program Operacyjny (2014-2020)Business Link Krakow
 
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)Business Link Krakow
 

Mehr von 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