Netbeans - základy ladění v Javě

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #75 kdy: 24. 10. 2016, 00:15:33 »
TDD předpokládá, že se píše testovatelný kód. Dobrá zásada je nepoužívat mutable proměnné a raw vlákna.

No právě, TDD tě donutí k čistějšímu kódu, který je snadno testovatelný a také mnohem lépe čitelný.


Re:Netbeans - základy ladění v Javě
« Odpověď #76 kdy: 24. 10. 2016, 06:45:22 »
TDD předpokládá, že se píše testovatelný kód. Dobrá zásada je nepoužívat mutable proměnné a raw vlákna.
Kdybyste si přečetl celou diskusi, bavíme se tu o tom, že většina kódu, kterou programátor používá, není jeho kód – takže těžko může ovlivnit jeho testovatelnost. Kit tvrdí, že kód vůbec nedebuguje a na všechny chyby přijde jenom díky testům, tak jsem jenom poprosil o praktickou ukázku. Já si právě také myslím, že TDD má spoustu předpokladů, které bohužel často nejsou splněny – a není jednoduché je splnit, často to ani není možné. Kdyby bylo jednoduché ty předpoklady splnit, měli by všichni pokrytí testy 100 %. Ve skutečnosti není problém TDD psaní testů, ale právě to, jak splnit předpoklady pro použití TDD.

podlesh

Re:Netbeans - základy ladění v Javě
« Odpověď #77 kdy: 24. 10. 2016, 09:57:20 »
Tak snad na první pohled vidíš lambda výrazy, takže tě nemůže překvapit, že to ve staré javě nezkompiluješ a nemá smysl sem psát hlášku o chybě syntaxe.

Máš pravdu. Nepřekvapilo mě to. Přece kvůli této diskuzi nebudu přeinstalovávat JDK.
Nechci se moc motat do tradičního flameware, ale... používáš windows nebo co?

JDK nemusíš instalovat, stačí jen rozbalit. A možná ještě nastavit PATH ale to je optional - můžeš klidně psát plnou cestu :-)

perceptron

Re:Netbeans - základy ladění v Javě
« Odpověď #78 kdy: 24. 10. 2016, 10:59:34 »
Citace
No právě, TDD tě donutí k čistějšímu kódu, který je snadno testovatelný a také mnohem lépe čitelný.
to ano.

kolko ludi mate ale na projekte? podla toho ako odmietate odpovedat ste tam sam a "to se to bádá, to se to pracuje".

Re:Netbeans - základy ladění v Javě
« Odpověď #79 kdy: 24. 10. 2016, 12:06:34 »
TDD předpokládá, že se píše testovatelný kód. Dobrá zásada je nepoužívat mutable proměnné a raw vlákna.

No právě, TDD tě donutí k čistějšímu kódu, který je snadno testovatelný a také mnohem lépe čitelný.

To je ve skutecnosti otevrena otazka a nevypada to tak:
https://dl.acm.org/citation.cfm?doid=2961111.2962592

IMO je hlavni trik v tom, ze se automaticky testuje a test first (nebo dokonce TDD) je vhodnejsi varianta jenom nekdy.


gll

Re:Netbeans - základy ladění v Javě
« Odpověď #80 kdy: 24. 10. 2016, 12:32:20 »
TDD předpokládá, že se píše testovatelný kód. Dobrá zásada je nepoužívat mutable proměnné a raw vlákna.

No právě, TDD tě donutí k čistějšímu kódu, který je snadno testovatelný a také mnohem lépe čitelný.

To je ve skutecnosti otevrena otazka a nevypada to tak:
https://dl.acm.org/citation.cfm?doid=2961111.2962592

IMO je hlavni trik v tom, ze se automaticky testuje a test first (nebo dokonce TDD) je vhodnejsi varianta jenom nekdy.

Až se to prosadí v praxi, tak tomu uvěřím. Osobně považuji teoretické SW inženýrství za pseudovědu. Každých pár let přijdou s novou zázračnou metodikou, kterou ti stejní lidé po čase zavrhnou a začnou prosazovat něco jiného.

Re:Netbeans - základy ladění v Javě
« Odpověď #81 kdy: 24. 10. 2016, 12:48:26 »
TDD předpokládá, že se píše testovatelný kód. Dobrá zásada je nepoužívat mutable proměnné a raw vlákna.

No právě, TDD tě donutí k čistějšímu kódu, který je snadno testovatelný a také mnohem lépe čitelný.

To je ve skutecnosti otevrena otazka a nevypada to tak:
https://dl.acm.org/citation.cfm?doid=2961111.2962592

IMO je hlavni trik v tom, ze se automaticky testuje a test first (nebo dokonce TDD) je vhodnejsi varianta jenom nekdy.

Až se to prosadí v praxi, tak tomu uvěřím. Osobně považuji teoretické SW inženýrství za pseudovědu. Každých pár let přijdou s novou zázračnou metodikou, kterou ti stejní lidé po čase zavrhnou a začnou prosazovat něco jiného.

Pockat, tomu nerozumim. Podle tebe se testovani (a specialne TDD) v praxi neprosadilo?

gll

Re:Netbeans - základy ladění v Javě
« Odpověď #82 kdy: 24. 10. 2016, 13:24:49 »
TDD předpokládá, že se píše testovatelný kód. Dobrá zásada je nepoužívat mutable proměnné a raw vlákna.

No právě, TDD tě donutí k čistějšímu kódu, který je snadno testovatelný a také mnohem lépe čitelný.

To je ve skutecnosti otevrena otazka a nevypada to tak:
https://dl.acm.org/citation.cfm?doid=2961111.2962592

IMO je hlavni trik v tom, ze se automaticky testuje a test first (nebo dokonce TDD) je vhodnejsi varianta jenom nekdy.

Až se to prosadí v praxi, tak tomu uvěřím. Osobně považuji teoretické SW inženýrství za pseudovědu. Každých pár let přijdou s novou zázračnou metodikou, kterou ti stejní lidé po čase zavrhnou a začnou prosazovat něco jiného.

Pockat, tomu nerozumim. Podle tebe se testovani (a specialne TDD) v praxi neprosadilo?

Myslel jsem, že ten článek prosazuje TLD a zavrhuje TDD. Nečetl jsem ho.

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #83 kdy: 24. 10. 2016, 13:31:47 »
Až se to prosadí v praxi, tak tomu uvěřím. Osobně považuji teoretické SW inženýrství za pseudovědu. Každých pár let přijdou s novou zázračnou metodikou, kterou ti stejní lidé po čase zavrhnou a začnou prosazovat něco jiného.

Tak jako kladivo není univerzálním nářadím, tak ani TDD se nedá univerzálně aplikovat na všechno. Každý vývojář používá určitou kombinaci metodik, které poznal a které se mu osvědčily. Některým dává větší váhu, jiným menší, ale nikdy nepoužívá jen jednu.

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #84 kdy: 24. 10. 2016, 13:34:04 »
Minulý příspěvek jsem trochu zvoral, tak to napravuji:
Až se to prosadí v praxi, tak tomu uvěřím. Osobně považuji teoretické SW inženýrství za pseudovědu. Každých pár let přijdou s novou zázračnou metodikou, kterou ti stejní lidé po čase zavrhnou a začnou prosazovat něco jiného.

Tak jako kladivo není univerzálním nářadím, tak ani TDD se nedá univerzálně aplikovat na všechno. Každý vývojář používá určitou kombinaci metodik, které poznal a které se mu osvědčily. Některým dává větší váhu, jiným menší, ale nikdy nepoužívá jen jednu.

gll

Re:Netbeans - základy ladění v Javě
« Odpověď #85 kdy: 24. 10. 2016, 14:01:50 »
Pockat, tomu nerozumim. Podle tebe se testovani (a specialne TDD) v praxi neprosadilo?

Já proti TDD nic nemám, jen nevím proč bych měl věřit nějakým metrikám produktivity z podobných článků.

Re:Netbeans - základy ladění v Javě
« Odpověď #86 kdy: 24. 10. 2016, 16:19:36 »
Kite, opravdu ti přeju že pracuješ s lidmi, pro lidi, a na projektech kde můžeš díky TDD ignorovat ostatní prostředky jako třeba debuger. Přeju ti abys debuger nemusel použít a věřím že to i dokážeš. Protože debuger opravdu většinou není nenahraditelný, obzvlášť pokud si všechen kód píšeš sám.

Pokud ale toto myslíš vážně, a nepsalo to nějaké tvoje dvojče:
Tak jako kladivo není univerzálním nářadím, tak ani TDD se nedá univerzálně aplikovat na všechno. Každý vývojář používá určitou kombinaci metodik, které poznal a které se mu osvědčily. Některým dává větší váhu, jiným menší, ale nikdy nepoužívá jen jednu.
Tak nechápu tvůj, snad až odpor k debugeru. Možná je nadužívaný, možná že ty se nedostáváš do situací kdy by jsi ho s výhodou použil, ale tvářit se že je obecně k ničemu a deklasovat ho na pouhé krokování, to mi přijde na někoho s tvou reputací a zkušenostmi příliš zjednodušující, a promiň, až "hloupé".

Možná bys mohl napsat nějaký blog nebo tak něco a v něm, nejen pro sebe, utřídit důvody pro a proti používání  debugeru.Jistě by pod ním byla také zajímavá diskuze.
Ten bys pak mohl přidávat do svých odpovědí na dotazy, na místo ostentativních výkřiků typu:
BTW: K čemu je dobré krokování programu? To se používalo v assembleru.
:(

Věřím že by se tak v mnoha diskuzních vláknech kam přispíváš, uvolnil nejen prostor, ale i zbytečné napětí. A dost možná by to bylo i konstruktivnější a užitečnější mít to na samostatné stránce a né jako offtopic v různých vláknech na různých serverech.

dustin

Re:Netbeans - základy ladění v Javě
« Odpověď #87 kdy: 24. 10. 2016, 16:43:35 »
Jak snadno se debuguje (základní věci - krokování, sledování hodnot, evaluate kód v aktuálním kontextu rámce, podmíněné breakpointy, watches) java ve vimu?

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #88 kdy: 24. 10. 2016, 17:12:38 »
Kite, opravdu ti přeju že pracuješ s lidmi, pro lidi, a na projektech kde můžeš díky TDD ignorovat ostatní prostředky jako třeba debuger. Přeju ti abys debuger nemusel použít a věřím že to i dokážeš. Protože debuger opravdu většinou není nenahraditelný, obzvlášť pokud si všechen kód píšeš sám.

Pokud ale toto myslíš vážně, a nepsalo to nějaké tvoje dvojče:
Tak jako kladivo není univerzálním nářadím, tak ani TDD se nedá univerzálně aplikovat na všechno. Každý vývojář používá určitou kombinaci metodik, které poznal a které se mu osvědčily. Některým dává větší váhu, jiným menší, ale nikdy nepoužívá jen jednu.
Tak nechápu tvůj, snad až odpor k debugeru. Možná je nadužívaný, možná že ty se nedostáváš do situací kdy by jsi ho s výhodou použil, ale tvářit se že je obecně k ničemu a deklasovat ho na pouhé krokování, to mi přijde na někoho s tvou reputací a zkušenostmi příliš zjednodušující, a promiň, až "hloupé".

Ano, vadí mi spíš nadužívání debuggeru tam, kde by i primitivní test snadno odhalil chybu. Docela mě baví alergické reakce na mé, často hodně zjednodušující, příspěvky. Stačí se jen zmínit o getterech, MVC, debuggeru či jiném postupu či nástroji, který používám jinak než mainstream a rázem se z toho vyvine vlna nadávek, urážek a pokusů o ponižování. Baví mě utahovat si z blbců, to je vše. Všimni si, že jim nenadávám, ani se je nesnažím urazit. Na to si úplně vystačí sami.

Díky za tvoji reakci, která mi dává smysl. Používám mnoho různých nástrojů, z nichž některé jsem si napsal sám a dobře mi slouží. Některé by se skutečně daly označit za debuggery, jen se jim tak neříká. Aplikace se snažím psát tak, abych debugování pokud možno nepotřeboval - dělám krátké bloky, málo úrovní zanoření, dbám na dekompozici a zapouzdření, píši prototypy a testy. V jednoduchém kódu je méně šancí, že se v něm ztratíš.

Takže souhlasím s tvým výrokem:
Citace
... snad až odpor k debugeru. Možná je nadužívaný, možná že ty se nedostáváš do situací kdy by jsi ho s výhodou použil...
Prostě je v mém okolí nadužívaný tak, až mi leze krkem.

perceptron

Re:Netbeans - základy ladění v Javě
« Odpověď #89 kdy: 24. 10. 2016, 17:28:24 »
Citace
docela mě baví alergické reakce na mé, často hodně zjednodušující, příspěvky. Stačí se jen zmínit o getterech, MVC, debuggeru či jiném postupu či nástroji, který používám jinak než mainstream
takze kolko ludi mate na projekte?