31
www.marbes.cz Profesionální programátor = nedostatkové zboží Autor: Petr Jůza Datum: 13.11.2012 komplexní řešení informačních systémů MARBES CONSULTING s.r.o. Tel.: 378 121 500 Fax.: 378 121 501 Brojova 16, 326 00 Plzeň

Marbes profesionalni programator_zcu

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Marbes profesionalni programator_zcu

www.marbes.cz

Profesionální programátor = nedostatkové zboží

Autor: Petr Jůza

Datum: 13.11.2012

kom

ple

xní ře

šení in

form

ačn

ích s

yst

ém

ů

MARBES CONSULTING s.r.o.Tel.: 378 121 500Fax.: 378 121 501Brojova 16, 326 00 Plzeň

Page 2: Marbes profesionalni programator_zcu

www.marbes.cz

Představení – Marbes Společnost Marbes consulting s.r.o. je česká

konzultační a vývojová společnost působící v oblasti informačních technologií jako systémový integrátor a dodavatel ucelených SW řešení.

Založena v roce 1997 cca 150 zaměstnanců Zákazníci

magistráty a městské úřady krajské úřady ministerstva obchodní společnosti a firmy poskytující služby

Hlavní sídlo v Plzni, pobočka v Praze a Brně www.marbes.cz

Page 3: Marbes profesionalni programator_zcu

www.marbes.cz

Představení – Marbes • klient-server aplikace

• server: – Java, Spring framework, Hibernate,

Apache CXF, …– PHP

• aplikační server – Apache Tomcat

Page 4: Marbes profesionalni programator_zcu

www.marbes.cz

Představení – Marbes • klient:

– Win32 aplikace (Delphi)– web: Vaadin, .Net

• databáze: MS SQL, Oracle

• integrace - MuleESB

Page 5: Marbes profesionalni programator_zcu

www.marbes.cz

Zajišťovat kvalitu aplikace až ve fázi testování je jako začít vychovávat dítě těsně před 18-tým rokem. Hodně bugů a release s

rizikem.

Page 6: Marbes profesionalni programator_zcu

www.marbes.cz

Představení – Ing. Petr Jůza• Team leader, architekt, programátor, analytik, ...• Nyní pracuji na volné noze• Vývoj Java aplikací přes 10 let• Zaměřuji se na „lightweight“ a integrační řešení

• SpringSource Certified Professional • Blog: http://javicka.blogspot.cz • Twitter: @pjuza• LinkedIn: http://www.linkedin.com/in/petrjuza

Page 7: Marbes profesionalni programator_zcu

www.marbes.cz

Kód, který je pochopitelný a čitelný, ale nefunguje, můžete spravit.

Kód, který funguje, ale je nepochopitelný, se může rozbít a neuděláte s ním nic.

Page 8: Marbes profesionalni programator_zcu

www.marbes.cz

Profesionální programátor

kodér

programátor

Page 9: Marbes profesionalni programator_zcu

www.marbes.cz

Nenápadným zabijákem IT projektů je špatná komunikace.

Není nad osobní jednání na všech úrovních projektové hierarchie.

Page 10: Marbes profesionalni programator_zcu

www.marbes.cz

Vlastnosti kodéra• orientace na technologie a samotný kód

• nebaví ho řešit zadání

• komunikace je zbytečné zdržování

• často chybí znalosti vyvíjené oblasti

• orientován na množství kódu

Page 11: Marbes profesionalni programator_zcu

www.marbes.cz

Když saháte do existujícího kódu, pokaždé něco vylepšete: javadoc, test, čitelnost. Je to jediný způsob, jak mít dlouhodobě

udržovatelný kód.

Page 12: Marbes profesionalni programator_zcu

www.marbes.cz

Vlastnosti programátora• kvalitní „kodér“, který přemýšlí a

komunikuje

• schopnost analýzy

• stále se ptá a hledá nejlepší řešení

• soft-skills

• snaha o zlepšování se - motivace

Page 13: Marbes profesionalni programator_zcu

www.marbes.cz

Nejcennější vlastnosti vývojáře dle S.McConnella: pokora, skromnost, zvědavost,

duševní upřímnost, kreativita, disciplína a osvícená lenost.

Page 14: Marbes profesionalni programator_zcu

www.marbes.cz

Vlastnosti programátora

Page 15: Marbes profesionalni programator_zcu

www.marbes.cz

Kódování zabere ⅙ času, design ⅓ a testy ½ (z toho ¼ jedn. komponenty a ¼ integrační

test.).Náklady na údržbu jsou 40%.

Page 16: Marbes profesionalni programator_zcu

www.marbes.czProč je dobré být

programátorem• chci umět více, dělat lépe

• vyšší přidaná hodnota = lepší postavení

• agilní přístupy – směr ke společné zodpovědnosti a programování

• člověk nemůže kódovat celý život

Page 17: Marbes profesionalni programator_zcu

www.marbes.cz

Dokonalá znalost všech požadavků na nově vyvíjený software je iluze.

Smiřte se s tím a nebudete ve stresu při postupném upřesňování.

Page 18: Marbes profesionalni programator_zcu

www.marbes.cz

Vývoj je týmová hra• špatný/dobrý výsledek ovlivňuje celý tým

• nutnost vzájemného respektu

• nutnost vzájemné pomoci

• nutnost dodržování „pravidel hry“

Page 19: Marbes profesionalni programator_zcu

www.marbes.cz

Documentation is like sex, when it's good it's awesome and even when it's pretty bad it's

still better than nothing.

Page 20: Marbes profesionalni programator_zcu

www.marbes.cz

Buďme efektivní• kvalitní kód, komentáře, stejná podoba

kódu, ...

• refaktoring

• testy

• naučme se efektivně používat IDE

• lépe komunikujme a předávejme informace

Page 21: Marbes profesionalni programator_zcu

www.marbes.cz

Pokud jde kód špatně otestovat, je špatně navržený.

Page 22: Marbes profesionalni programator_zcu

www.marbes.cz

Kvalitní kód• kvalitní API

• dokumentace

• dodržování konvencí

• čitelnost

• testovatelnost

Page 23: Marbes profesionalni programator_zcu

www.marbes.cz

Refactoring kódu je jako úklid kuchyně po večeři. Pokud se nedělá, hromadí se binec,

dochází čisté nádobí a časem si člověk už ani neuvaří.

Page 24: Marbes profesionalni programator_zcu

www.marbes.cz

Rady pro začátek• teoretické znalosti jsou potřeba

– je nutné je ale umět aplikovat

• učte se, inspirujte se

• mějte vývojové zásady a držte se jich

• programovací jazyk není nejdůležitější

Page 25: Marbes profesionalni programator_zcu

www.marbes.cz

Kdybych byl aplikační bug, tak se schovám do metody s vysokou cyklomatickou

složitostí, smrdícím kódem a s napraseným názvoslovím.

Page 26: Marbes profesionalni programator_zcu

www.marbes.cz

Rady pro začátek• buďte programátorsky upřímní

• technologický dluh vs. overengineering

Page 27: Marbes profesionalni programator_zcu

www.marbes.cz

Čím vyšší složitost kódu, tím hustější mlha, ve které se schovají aplikační bugy.

Page 28: Marbes profesionalni programator_zcu

www.marbes.cz

Závěr

buďte programátory

Page 29: Marbes profesionalni programator_zcu

www.marbes.cz

Budovat aplikaci s vysokou vnitřní kvalitou je jako ukládat peníze na spořící účet s

výhodným úrokem. S postupem času se výnosy násobí.

Page 30: Marbes profesionalni programator_zcu

www.marbes.cz

Jakákoli konvence pojmenování je obvykle lepší než žádná konvence. Zlepšuje

pochopení kódu a soustředění na problém, omezuje množení názvů.

Page 31: Marbes profesionalni programator_zcu

www.marbes.cz

Děkuji za pozornost

kom

ple

xní ře

šení in

form

ačn

ích s

yst

ém

ů