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

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #15 kdy: 22. 10. 2016, 23:27:22 »
A nikdy kolegove neudelaji chybu a vzdy pokryjes vsechno.

O co ti jde? Myslíš si snad, že ti krokování v debuggeru při hledání chyby nějak pomůže?


kimec

Re:Netbeans - základy ladění v Javě
« Odpověď #16 kdy: 22. 10. 2016, 23:41:27 »
Ano, a potom ked refaktorujes alebo prepisujes nejaku core vec, tak stravis 30% casu prepisom a 70% opravou testov (z pravidla od inych ludi).
Cersnickou na torte su take unit testy, ktore su akoze unit, ale v skutocnosti su integracne. Napr. ti startuje in-memory databaza (lebo ved v Spring-u je to tak jednoduche), len aby si nasledne po nasadeni na produkcii zistil, ze HSQL v testoch defaultne nebezi v MVCC a MySql s InnoDB ano....

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #17 kdy: 23. 10. 2016, 00:08:41 »
Ano, a potom ked refaktorujes alebo prepisujes nejaku core vec, tak stravis 30% casu prepisom a 70% opravou testov (z pravidla od inych ludi).

Při refaktorování se na testy nesahá. To bys mohl vědět.

Při redesignu prostě opravím test a pak program. Ostatní stráví 20 % času přepisem a 80 % debugováním.

Cersnickou na torte su take unit testy, ktore su akoze unit, ale v skutocnosti su integracne. Napr. ti startuje in-memory databaza (lebo ved v Spring-u je to tak jednoduche), len aby si nasledne po nasadeni na produkcii zistil, ze HSQL v testoch defaultne nebezi v MVCC a MySql s InnoDB ano....

To není unit test, ale integrační. Když si někdo neumí namockovat databázi, tak si nic jiného nezaslouží.

Re:Netbeans - základy ladění v Javě
« Odpověď #18 kdy: 23. 10. 2016, 10:56:39 »
A nikdy kolegove neudelaji chybu a vzdy pokryjes vsechno.

O co ti jde? Myslíš si snad, že ti krokování v debuggeru při hledání chyby nějak pomůže?

Ano. Je to jedna z veci, ktere ti mohou pomoci, kdyz s nimi umis. At uz jsi pripojeny k zivemu programu nebo krokujes test.

A jeste jsi neodpovedel, zda i tvoji kolegove produkuji bezchybny a dokonale pokryt kod.

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #19 kdy: 23. 10. 2016, 11:15:49 »
A jeste jsi neodpovedel, zda i tvoji kolegove produkuji bezchybny a dokonale pokryt kod.

Když testy procházejí, ale program nefunguje jak má, je nutné opravit testy. To je základní pravidlo.


Re:Netbeans - základy ladění v Javě
« Odpověď #20 kdy: 23. 10. 2016, 11:29:25 »
A jeste jsi neodpovedel, zda i tvoji kolegove produkuji bezchybny a dokonale pokryt kod.

Když testy procházejí, ale program nefunguje jak má, je nutné opravit testy. To je základní pravidlo.

To je pulka pravdy.
Druha pulka prvdy je, ze nekdy je dobre se podivat pod kapotu, nez zacnes neco opravovat.

A stale cekam na odpoved o tom, zda kolegove delaji vsechno tak, jak se tady prezentujes sam.

Re:Netbeans - základy ladění v Javě
« Odpověď #21 kdy: 23. 10. 2016, 11:39:10 »
A je mi trapne to zduraznovat, ale drzet se nejake ideologie je fain, ale nemela by cloveku zabranit udelat spravnou vec.

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #22 kdy: 23. 10. 2016, 11:46:05 »
Druha pulka prvdy je, ze nekdy je dobre se podivat pod kapotu, nez zacnes neco opravovat.

TDD takové jednání připouští pouze v případě, že test selže. Pokud test projde, na program se sahá pouze při refaktorování.

Re:Netbeans - základy ladění v Javě
« Odpověď #23 kdy: 23. 10. 2016, 11:53:51 »
Druha pulka prvdy je, ze nekdy je dobre se podivat pod kapotu, nez zacnes neco opravovat.

TDD takové jednání připouští pouze v případě, že test selže. Pokud test projde, na program se sahá pouze při refaktorování.

A kde je tam psano, ze se nesmis podivat, jak to vypada v behu (at uz v behu programu nebo v behu unity pri spusteni testu)?

Re:Netbeans - základy ladění v Javě
« Odpověď #24 kdy: 23. 10. 2016, 11:54:55 »
Druha pulka prvdy je, ze nekdy je dobre se podivat pod kapotu, nez zacnes neco opravovat.

TDD takové jednání připouští pouze v případě, že test selže. Pokud test projde, na program se sahá pouze při refaktorování.

Hele, tak mne napada, mas nejake kolegy, ze jo? Nejsi jenom chudak osamely programator, co si mysli, ze to dela dobre, aniz by mel zkusenost z vyssich levelu?

javaman ((

Re:Netbeans - základy ladění v Javě
« Odpověď #25 kdy: 23. 10. 2016, 11:55:48 »
Tady něco smrdí. TDD je fajn nápad, ale v praxi nerealizovatelný plně. Takže buď Kit nic nedělá a jen tady píše teorii a nebo si z nás dělá srandu. Testy jsou super, o tom žádná, ale pokud mám desítky tisíc a více řádků kódu, tak testů bude minimálně trojnásobek, což je trochu problematické. Hlavně se se špatně vysvětluje, když ladíš dva týdny testy, abys pak mohl začít implementovat :D

javaman ((

Re:Netbeans - základy ladění v Javě
« Odpověď #26 kdy: 23. 10. 2016, 12:03:41 »
Citace
Tak co, chlapi, už to funguje?
Citace
No, zatím ne, ale máme testy! 8)

Kolemjdoucí

Re:Netbeans - základy ladění v Javě
« Odpověď #27 kdy: 23. 10. 2016, 12:10:09 »
Druha pulka prvdy je, ze nekdy je dobre se podivat pod kapotu, nez zacnes neco opravovat.

TDD takové jednání připouští pouze v případě, že test selže. Pokud test projde, na program se sahá pouze při refaktorování.

Mám-li něco dodělat do existujícího systému, TDD mi sice přikazuje nejdříve udělat test ale je přeci evidentní že než začnu s implementací změn tak ten test bude selhávat! A pak hned bývá potřeba debugger abych pochopil jak to v tom systému funguje protože často nejsem autorem a dokumentace nikdy není dokonalá a zdaleka ne všechny systémy jsou tak jednoduché aby si stačilo přečíst zdrojáky...

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #28 kdy: 23. 10. 2016, 12:11:19 »
Tady něco smrdí. TDD je fajn nápad, ale v praxi nerealizovatelný plně. Takže buď Kit nic nedělá a jen tady píše teorii a nebo si z nás dělá srandu. Testy jsou super, o tom žádná, ale pokud mám desítky tisíc a více řádků kódu, tak testů bude minimálně trojnásobek, což je trochu problematické. Hlavně se se špatně vysvětluje, když ladíš dva týdny testy, abys pak mohl začít implementovat :D

Testy tvořím zároveň s vývojem modulu. Chvilku píši test, chvíli implementaci a střídá se to podle toho, zda ten test projde či nikoli. Je to mnohem praktičtější a je to i podle pravidel TDD. Když mám hotovo, jdu na další modul.

Kit

Re:Netbeans - základy ladění v Javě
« Odpověď #29 kdy: 23. 10. 2016, 12:14:45 »
Mám-li něco dodělat do existujícího systému, TDD mi sice přikazuje nejdříve udělat test ale je přeci evidentní že než začnu s implementací změn tak ten test bude selhávat! A pak hned bývá potřeba debugger abych pochopil jak to v tom systému funguje protože často nejsem autorem a dokumentace nikdy není dokonalá a zdaleka ne všechny systémy jsou tak jednoduché aby si stačilo přečíst zdrojáky...

Od toho mám přece ten test, aby mi odhalil, v čem je chyba.