NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 14 - Best practices pro vývoj softwaru - Vývoj webových aplikací

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na
Drahomír Hanák:30.1.2013 17:05

Je otázka, co vyvíjíš. Pokud děláš jen nějakou webovou prezentaci, jednodušší aplikaci nebo jednoduchý e-shop, sám to určitě zvládneš. Já ale myslel spíš vývoj mnohem složitějších aplikací, kde je dle mého názoru mnohem lepší pracovat s více lidmi v nějakém týmu (byť dvou lidí).

 
Odpovědět
30.1.2013 17:05
Avatar
Michael Olšavský:30.1.2013 21:39

Mohl by nekdo prosim napsat nejaky clanek o testovani? Celkem by me zajimalo jak se to dela. Treba s takovim unity test jsem se nikdy nesetkal.

 
Odpovědět
30.1.2013 21:39
Avatar
Odpovídá na Michael Olšavský
Drahomír Hanák:30.1.2013 21:59

Tak v rychlosti: Kromě kódu píšeš ještě testy, které testují kód. Konkrétně Unit testy (jednotkové) testují jednu určitou jednotku (v OOP obvykle třídu resp. její metody). Přitom každou jednotku testují samostatně. Odstiňují ji od závislostí vytvářením a podstrčením tzv. Mocků, které nahrazují jiné objekty (zkušenější asi namítnou, že to není úplně přesné označení - existuje ještě fake, stub a další, ale to je spíš téma článku, než příspěvku v diskuzi :) ). Tyhle testy se pak dají spouštět kdykoli, máš je oddělené od kódu aplikace a můžeš se o ně opřít když uděláš nějakou změnu. Bohužel asi nemám v tomhle oboru tak dobré znalosti, abych o tom mohl napsat celý článek (testování obecně by bylo nejspíš na celý seriál)

 
Odpovědět
30.1.2013 21:59
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Drahomír Hanák
Kit:31.1.2013 8:41

Je to obráceně: Kromě testů se píše ještě i produkční kód. Testy se píší vždy jako první. Slouží také jako specifikace zadání. Kód se pak napíše tak, aby ty testy prošly.

Se zbytkem souhlasím.

Odpovědět
31.1.2013 8:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Drahomír Hanák:31.1.2013 18:21

Nechtěl jsem tím narážet na to, kdy by se měly testy psát. Pokud se píší ještě před produkčním kódem, pak mluvíme o TDD. Jsem ale toho názoru, že nemusí být nutně špatně, psát testy až po produkčním kódu. Jen nesmím odkládat psaní testů na někdy jindy. Vždy je musím psát současně s danou funkcionalitou.

 
Odpovědět
31.1.2013 18:21
Avatar
kny
Neregistrovaný
Avatar
Odpovídá na Kit
kny:1.2.2013 16:45

ja vim, ze tady teoretizujem, ale bez frameworku fakt 10 radku neudela skoro nic. ale urcite utlocitnosti vuci "balastu" rozumim. ne vzdy je na miste a stejny pozadavek maji vsichni, takze i ty frameworky se snazi balastu vyvarovat.
pokud chce nekdo vynalezat kolo, ja mu to preju/nezavidim.

 
Odpovědět
1.2.2013 16:45
Avatar
kny
Neregistrovaný
Avatar
Odpovídá na Drahomír Hanák
kny:1.2.2013 16:56

zajima me prave o jakych projektech se teda bavime? eshop typu alza? portal typu centrum? aplikaci jako stream?
ok, to je na tymy, testovani, verzovani a to jsou systemy za milion(y), nevim kolik lidi se k necemu takovemu dostane (v ramci tech, co klikaji na clanek "Jak rychle a kvalitně vytvořit (nejen) webovou aplikaci?"), vetsina lidi imho dela nejake prezentace/mi­krosajty a kdyz si ohnou wordpress tak, ze tam maji custom policka nebo post typy, tak se citi jako velci magove :)

anebo jsem mimo a vsichni tu jedeme portal za potalem. tze by me zajimalo co delal konkretne autor (staci napsat "velky eshop velikosti mall", nebo tak neco, at si to zaradim.)

jen aby bylo jasne, ja jsem "garazovy bastlic", neni to muj hlavni obor/obziva, ale mozna proto jsem asi proklikl a dozvidam se, ze mam smulu, pac jako jedinec v roce 13 uz nemam na webove stranky ani na aplikace...

 
Odpovědět
1.2.2013 16:56
Avatar
Odpovídá na
Drahomír Hanák:1.2.2013 17:42

"ok, to je na tymy, testovani, verzovani a to jsou systemy za milion(y)"
Asi máme každý jinou představu. Testování a verzování přece nejsou systémy za milióny, nebo se snad mýlím? Tým nemusí znamenat 30 lidí. Mohou to být bohatě třeba jen dva programátoři. Nejenže je vývoj rychlejší (samozřejmě nemusí platit vždy), ale v týmu se také vždy můžu zeptat ostatních, jak by daný problém řešili oni.

Jako příklad můžu uvést třeba http://www.spaceteacher.com - startup, na kterém dělá tým hned několika programátorů, http://www.ferol.cz - průměrný web s administrací na míru, http://faiblemodeles.cz/ (vůbec, všechny weby, co jsem dělal v rámci http://www.nuvel.eu/) a další. Třeba k takovým projektům jsem se dostal a nepochybuji o tom, že mi testování a verzování pomohlo. Nepochybuji ani o tom, že kdybych měl projekty tohoto typu dělat sám, vývoj by se hodně protáhl a nejspíš bych je udělal o dost hůř (jak z hlediska návrhu, tak i funkčnosti). Ještě podotýkám, že používám hotová řešení, frameworky a další věci, které šetří čas (sám to v článku vyzdvihuji). I přesto si na svém názoru trvám. Souhlasím ale, že když dělám e-shop typu http://www.elektropower.cz/ nebo takové různé prezentační stránky, stačím na to sám.

Nakonec bych chtěl taky podotknout, že článek je určen lidem, co s vývojem začínají (třeba znají syntaxi, ale chtějí to dělat líp). Netvrdím, že mám nějaké velké zkušenosti, ani že vím, jak to udělat nejlíp. Proto jsem rád za tuhle diskuzi a třeba se i mýlím :) Píšu ale ze své zkušenosti a jak je uvedeno na konci článku, "Tento článek byl jen lehkým shrnutím poznatků, které jsem získal při vývoji aplikací a webu."

 
Odpovědět
1.2.2013 17:42
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Drahomír Hanák
Kit:4.2.2013 8:26

Když napíšeš test jako první, tak si tím zpravidla ujasníš zadání. To je velká výhoda TDD. Nevýhodou TDD je, že na začátku se každý začne učit framework JUnit nebo PHPUnit a ta složitost ho odradí. Je lepší začít bez těchto frameworků, aby programátor pochopil princip TDD.

Testování na začátku trochu zpomalí, ale bohatě se to vrátí za polovinou projektu. Také se to osvědčilo po upgrade běhového prostředí. Přece jen každá verze PHP funguje trochu jinak...

Programy pro verzování a testování jsou zdarma a dá se verzovat i bez serveru.

Odpovědět
4.2.2013 8:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na
Kit:4.2.2013 8:28

Když srovnám třeba Dibi s mým vlastním wrapperem na 100 řádek, který dělá jen to, co potřebuji, ...

Odpovědět
4.2.2013 8:28
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 33.