Politechnika Poznańska, Poznań, 01.03.2017
o których nie było na studiach
Politechnika Poznańska, Poznań, 01.03.2017
Source code inherited from someone else and source code inherited from an older version of the software.
Na 90% - traficie do projektu w którym będziecie mieli do czynienia z kodem odziedziczonym.
Każdy kod staje się prędzej czy później kodem odziedziczonym
"Prowizorka jest jednym z najtrwalszych stanów materii"
Wyniki twojej pracy zawsze mogą stać się podstawą czegoś większego, wbrew temu co mówi klient/szef.
Gdy kod ma być dalej rozwijany kluczowe są: czytelność, spójność i... testy.
"The Railway Crossing", Fernand Léger
Pisanie kodu to chyba jednak nie to samo co sztuka
Dla klienta liczy się funkcjonalność! (dla klienta tak)
Software Craftsmanship!
Etos programisty w praktyce.
Code review - bardzo pomaga!
Wytyczanie granic i tworzenie fasad dla starego systemu
Tworzenie tzw. testów uczących/eksploracyjnych.
Tak naprawde nie ma czegoś takiego jak "legacy code" ;-)
Jeżeli coś przynosi kasę, to jest po prostu kod z którym musimy pracować.
A jeżeli nie przynosi -- to trzeba go zaorać!
Nigdy nie robiłem tego na studiach - nikt tego nie wymagał!
Dodatkowa robota, za którą nikt nie daje lepszych ocen
"Przecież i tak nic nie będe robił z tym kodem"
There have been lots of controversial blogs and articles written about TDD over the years and there still are. In the early days they were serious attempts at critique and understanding. Nowadays, however, they are just rants. The bottom line is that TDD works, and everybody needs to get over it
Robert Martin, "Clean Coder"
Source: http://www.javacodegeeks.com
Lista korzyści z książki "Clean coder", Roberta Martina
@mfloryan: TDD is a bit like chess, it's easy to learn the moves but that doesn't win you a game.
Source: http://longstreet.typepad.com/
Nie atakuj dwóch problemów naraz.
I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence
Kent Beck
Testy to narzędzie dla nas, niekoniecznie dla klienta
Source: http://www.testically.org/
Jak wybrać dobrze?
Stack overflow - http://stackoverflow.com/
Spotkania techniczne i konferencje - http://www.jug.poznan.pl/
Co ręka fachowca, to nie torba narzędzi
Tomasz Jacyków
Aa... Uciekajcie programiści nadchodzą użytkownicy!!!!
Warto pamiętać, że soft robimy dla użytkowników
"Ja myślałem, że po to żeby przećwiczyć wykorzystanie Technologii X" ;-)
Soft powinien rozwiązywać problemy użytkowników
A nie tworzyć nowe
Oczywista prawda jest jednak taka, że użytkownicy nie zawsze wiedzą czego chcą
Więc trzeba z nimi rozmawiać (często)
Komunikacja z użytkownikiem i gotowość do dokonywania zmian to jedne z podstaw rewolucji Agile
"Zanim pokaże to użytkownikom, musze poprawić jeszcze to .... i to .... Jak mogę pokazać to użytkownikom, skoro nie jest jeszcze gotowe?"
If you're not embarrassed by the first version of product you've launched, you've launched too late
Reid Hoffman w książce "Launch Pad"
The Minimum Viable Product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.
Eric Reis w książce "Lean Startup"
You cannot control what you cannot measure
Tom DeMarco w książce "Mythical Man-Month"
Source: blog.vessel.io
Krótkie interacje i częste kontakty z użytkownikami/klientem
Zbieranie obiektywnych statystyk o wykorzystaniu określonych funkcji (validated learning)
@viktorklang:"Real winners don't compete – they collaborate."
Dlaczego? Bo to o wiele fajniejsze niż praca w pojedynkę
"Umiem pracować w grupie, ale wolę sam"
Given enough eyeballs, all bugs are shallow
Linus's Law
Jakiego wsparcia mogą Ci udzielić koledzy/koleżanki?
Wysłuchać i posłużyć parą oczu
code reviews, programowanie parami
Pomóc w szacowaniu
Jak poker to tylko planistyczne ;-)
A single conversation with a wise man is better than ten years of study.
Chinese proverb
Komplet aktywnych znajdziesz na meetup.com ;-)
I wiele, wiele innych
Devoxx, Polyconf, Berlin Buzzwords, InfoShare, 4Developers, JDD....
Dziękuję za uwagę.
adam (at) dudczak.info / @maneo
"Think for yourself and question authority" ;-)
23-24 marca 2017
Braincode Hackathon