Marbes profesionalni programator_zcu

Preview:

DESCRIPTION

 

Citation preview

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ň

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

www.marbes.cz

Představení – Marbes • klient-server aplikace

• server: – Java, Spring framework, Hibernate,

Apache CXF, …– PHP

• aplikační server – Apache Tomcat

www.marbes.cz

Představení – Marbes • klient:

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

• databáze: MS SQL, Oracle

• integrace - MuleESB

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.

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

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.

www.marbes.cz

Profesionální programátor

kodér

programátor

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.

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

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.

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

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.

www.marbes.cz

Vlastnosti programátora

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%.

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

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í.

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“

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.

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

www.marbes.cz

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

www.marbes.cz

Kvalitní kód• kvalitní API

• dokumentace

• dodržování konvencí

• čitelnost

• testovatelnost

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ří.

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ší

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.

www.marbes.cz

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

• technologický dluh vs. overengineering

www.marbes.cz

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

www.marbes.cz

Závěr

buďte programátory

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í.

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ů.

www.marbes.cz

Děkuji za pozornost

kom

ple

xní ře

šení in

form

ačn

ích s

yst

ém

ů