Proč se cpe JavaScript na backend?

Re:Proč se cpe JavaScript na backend?
« Odpověď #75 kdy: 09. 02. 2025, 20:40:50 »
K tomu, že píšete-li testy, je to sice děsně cool i užitečné, ale ve většině případů vám těch padesát procent času co tím navíc strávíte jednoduše nikdo nezaplatí. A můžete třeba chodit po uších. Nemluvě o tom, že je sice hezké, že vám selže test, ale vy často potřebujete zjistit proč selhal. A to v komplexnějších aplikacích může být zatraceně zamotané. Vzájemně se to tedy ani fakt nenahrazuje.
Nevím zda jsem to správně pochopil, ale vážně jste zastáncem vývoje bez testů? Ano, je to čas strávený navíc, nicméně podle čeho vyhodnocujete dopad postupného vývoje na stávající kód? Já testy vnímám jako velmi hodnotné v rámci regresí a jednoduchého simulování různých stavů v každé fázi vývoje.


Re:Proč se cpe JavaScript na backend?
« Odpověď #76 kdy: 10. 02. 2025, 16:08:12 »
K tomu, že píšete-li testy, je to sice děsně cool i užitečné, ale ve většině případů vám těch padesát procent času co tím navíc strávíte jednoduše nikdo nezaplatí. A můžete třeba chodit po uších. Nemluvě o tom, že je sice hezké, že vám selže test, ale vy často potřebujete zjistit proč selhal. A to v komplexnějších aplikacích může být zatraceně zamotané. Vzájemně se to tedy ani fakt nenahrazuje.
Nevím zda jsem to správně pochopil, ale vážně jste zastáncem vývoje bez testů? Ano, je to čas strávený navíc, nicméně podle čeho vyhodnocujete dopad postupného vývoje na stávající kód? Já testy vnímám jako velmi hodnotné v rámci regresí a jednoduchého simulování různých stavů v každé fázi vývoje.

Ne, nepochopil. Jsem pouze zastánce dělat to, za co mě zaplatí. Pokud mě za testy nezaplatí což obvykle nezaplatí vzhledem k tomu, že najednou by to stálo dvakrát tolik, pak sice můžete o testech básnit jak Baudelaire ale rozhoduje zadavatel. Tyhle teoretické řeči jsou vždycky s běloskvoucí vůní čerstvě vypraného prádla, ta ale končí zhruba tam, kde začíná praktická realita. A čím menší firma, tím větší tlak na cash-flow a tím začíná dřív.

Re:Proč se cpe JavaScript na backend?
« Odpověď #77 kdy: 10. 02. 2025, 18:50:24 »
Já teda nevím, platí mě za dodávku řešení - součástí jsou tedy i testy. Ty slouží jak k regresi a okamžité zpětné vazbě na produkovaný kód ale mimo jiné jako funkční ukázka použití tohoto kódu, tedy v podstatě je dokumentací. To bychom mohli polemizovat nad tím, zda vám platí čas strávený debuggingem jako součást vývoje.

Kit

  • *****
  • 721
    • Zobrazit profil
    • E-mail
Re:Proč se cpe JavaScript na backend?
« Odpověď #78 kdy: 10. 02. 2025, 19:16:14 »
Ne, nepochopil. Jsem pouze zastánce dělat to, za co mě zaplatí. Pokud mě za testy nezaplatí což obvykle nezaplatí vzhledem k tomu, že najednou by to stálo dvakrát tolik, pak sice můžete o testech básnit jak Baudelaire ale rozhoduje zadavatel. Tyhle teoretické řeči jsou vždycky s běloskvoucí vůní čerstvě vypraného prádla, ta ale končí zhruba tam, kde začíná praktická realita. A čím menší firma, tím větší tlak na cash-flow a tím začíná dřív.

Takže zadavatel zaplatí i ladění aplikace? A není to náhodou větší částka, než vývoj podložený testy?

Re:Proč se cpe JavaScript na backend?
« Odpověď #79 kdy: 10. 02. 2025, 19:36:49 »
Já teda nevím, platí mě za dodávku řešení - součástí jsou tedy i testy. Ty slouží jak k regresi a okamžité zpětné vazbě na produkovaný kód ale mimo jiné jako funkční ukázka použití tohoto kódu, tedy v podstatě je dokumentací. To bychom mohli polemizovat nad tím, zda vám platí čas strávený debuggingem jako součást vývoje.

Zda mi platí čas strávený debuggingem? Platí. A není to můj problém, upřímně. Nechtějí testy, nemají testy. Kdyby chtěli testy, budou mít testy. Za co platí vám není relevantní. Když přijdu za majitelem firmy a řeknu mu, že to bude trvat jeden týden nebo dva týdny s testy, typicky mi řekne ať se na testy vykašlu, že na to nemá ani peníze ani čas. Jestli se mu to vyplatí je na něm, říkám pokaždé že by se testy hodily, ale nedodávám řešení v podobě ucelených celků; jsem jen námezdní síla a jsem tak spokojen. Nepotřebuji něco někomu nutit.


Re:Proč se cpe JavaScript na backend?
« Odpověď #80 kdy: 10. 02. 2025, 19:44:37 »
Takže zadavatel zaplatí i ladění aplikace? A není to náhodou větší částka, než vývoj podložený testy?

To je problém zadavatele, ne můj. Nedělám zakázkový vývoj celých celků. A věřte, že sice na to většinou kašlou hlavně v malých firmách kvůli penězům, ale korporáty na to dlabou většinou úplně stejně. Tam, kde pracuju teď jsme něco s testy napsali ale trvalo to dlouho, už jsme to neopakovali protože na to prostě nejsou peníze ani čas. V nejmenovaném korporátu předtím na to taky nebyl čas. Vedení to prostě nezajímalo. Mohu na to upozornit. To obvykle dělám. A dál mohu prudit nebo prostě pokrčit rameny a udělat to, co kdo chce. Co myslíte, že je jednodušší? Mně osobně je to finančně úplně jedno, práce je dost.

Když přijdete vy a budete chtít testy, napíšu vám je. Když ne, tak ne. Tohle fakt není na mně a ani nechci aby bylo. Já vám to navrhnu a řeknu proč by to bylo fajn ale to je vše. Víc dělat nepotřebuji a nechci.
« Poslední změna: 10. 02. 2025, 19:49:00 od Martin Poljak »

Re:Proč se cpe JavaScript na backend?
« Odpověď #81 kdy: 10. 02. 2025, 19:57:59 »
Zda mi platí čas strávený debuggingem? Platí. A není to můj problém, upřímně. Nechtějí testy, nemají testy. Kdyby chtěli testy, budou mít testy. Za co platí vám není relevantní.
Díky za objasnění, moje otázka zdaleka nebyla míněna jako zpochybnění vašeho přístupu k práci, spíše mě zajímal názor jak by to mělo být v ideálním světě. Dokonce si myslím, že já sám mám z pohledu testování frňáček nahoru a tvrdím že nepíšu špatný kód, nicméně opakovaně jsem dospěl ke zjištění, že testy výrazně podporují kvalitu dodávky.

Původnímu zadavateli se omlouvám za odklon od původního tématu, a abych přispěl svou trochou:

Mám názor takový, že volbu backendové technologie nemá smysl řešit/zpochybňovat. Prostě to tak je - já budu samozřejmě hájit využití silně typovaných jazyků, zejména na JVM platformě - ať už se bavíme o Javě, Scale, Kotlinu, ale vůbec mě neuráží a nepřijde divné, že se někdo rozhodl pro JS. Až začne upadat zájem o JVM, holt přejdu na jiný jazyk - pro mě je to jen lopata. Nyní dělám BE v Javě + SpringBoot a rozhodně si nemyslím, že by to byl stack mých snů - a tak se snažím dodávat to nejlepší řešení v rámci možností.

Re:Proč se cpe JavaScript na backend?
« Odpověď #82 kdy: 10. 02. 2025, 20:10:39 »
Díky za objasnění, moje otázka zdaleka nebyla míněna jako zpochybnění vašeho přístupu k práci, spíše mě zajímal názor jak by to mělo být v ideálním světě. Dokonce si myslím, že já sám mám z pohledu testování frňáček nahoru a tvrdím že nepíšu špatný kód, nicméně opakovaně jsem dospěl ke zjištění, že testy výrazně podporují kvalitu dodávky.

No, v ideálním světě by to bylo skvělé. Už proto, že by pak člověku permanentně nenaskakovaly pupínky z regresí. Ale stejně když teď po půldenním pátrání proč zase XYZ přestalo po releasu fungovat přijdu s tím ať napíšeme alespoň end-to-end testy, že je fakt potřebujeme, první otázkou bude jak dlouho to bude trvat a po odpovědi, že asi tak měsíc se s pochopením zase rozejdeme pokračovat v tom na čem kdo pracoval. A o unit testech to platí jakbysmet -- tam zase ve chvíli, kdy project manager začne řešit kolik bude vývoj té či které věci stát.

"Jsou na té planetě lovci?" "Nejsou." "Ach, to je zajímavé! A slepice?" "Také ne." "Nic není dokonalé," povzdychla si liška.

Kit

  • *****
  • 721
    • Zobrazit profil
    • E-mail
Re:Proč se cpe JavaScript na backend?
« Odpověď #83 kdy: 10. 02. 2025, 21:11:00 »
Já teda nevím, platí mě za dodávku řešení - součástí jsou tedy i testy. Ty slouží jak k regresi a okamžité zpětné vazbě na produkovaný kód ale mimo jiné jako funkční ukázka použití tohoto kódu, tedy v podstatě je dokumentací. To bychom mohli polemizovat nad tím, zda vám platí čas strávený debuggingem jako součást vývoje.

Zda mi platí čas strávený debuggingem? Platí. A není to můj problém, upřímně. Nechtějí testy, nemají testy. Kdyby chtěli testy, budou mít testy. Za co platí vám není relevantní. Když přijdu za majitelem firmy a řeknu mu, že to bude trvat jeden týden nebo dva týdny s testy, typicky mi řekne ať se na testy vykašlu, že na to nemá ani peníze ani čas.

Pokud bys mu řekl, že to bude trvat jeden týden bez testů nebo jeden týden s testy, co by si vybral?

Re:Proč se cpe JavaScript na backend?
« Odpověď #84 kdy: 10. 02. 2025, 21:25:53 »
Pokud bys mu řekl, že to bude trvat jeden týden bez testů nebo jeden týden s testy, co by si vybral?

Neřekl bych mu to protože by to nebyla pravda.

Kit

  • *****
  • 721
    • Zobrazit profil
    • E-mail
Re:Proč se cpe JavaScript na backend?
« Odpověď #85 kdy: 10. 02. 2025, 21:27:28 »
Pokud bys mu řekl, že to bude trvat jeden týden bez testů nebo jeden týden s testy, co by si vybral?

Neřekl bych mu to protože by to nebyla pravda.

Aha, takže neumíš efektivně psát testy.

Re:Proč se cpe JavaScript na backend?
« Odpověď #86 kdy: 10. 02. 2025, 21:47:53 »
Pokud bys mu řekl, že to bude trvat jeden týden bez testů nebo jeden týden s testy, co by si vybral?

Neřekl bych mu to protože by to nebyla pravda.

Aha, takže neumíš efektivně psát testy.

Nechcem sa tu voči nikomu nijako stavať, ale ono to môže byť ešte horšie. Keď rozmýšľam o svojich skúsenostiach, tak testy sa zvyčajne píšu ťažko, keď je nedostatočný návrh aplikácie. Inak sa testy píšu rýchlo a sú jednoduché až do tej miery, že sú vlastne nudné. A navyše v JavaScripte sa testy píšu ľahko.

Nemôže to byť tak, že tým, že nepíšte testy síce ušetríte čas pred odovzdaním etapy, ale v ďalšej etape sa vám kvôli tomu nedostatočnému návrhu horšie pridávajú nové funkcionality? Takže si možno myslíte, že ste ušetrili čas, ale v skutočnosti ste ho neušetrili a ešte navyše máte vyššiu mieru stresu, lebo vývoj ide ťažšie?

A na to by už možno zadávateľ reagoval a vy by ste mali väčší pocit bezpečia.

xyz

  • ****
  • 267
    • Zobrazit profil
Re:Proč se cpe JavaScript na backend?
« Odpověď #87 kdy: 10. 02. 2025, 23:43:27 »
Já teda nevím, platí mě za dodávku řešení - součástí jsou tedy i testy. Ty slouží jak k regresi a okamžité zpětné vazbě na produkovaný kód ale mimo jiné jako funkční ukázka použití tohoto kódu, tedy v podstatě je dokumentací. To bychom mohli polemizovat nad tím, zda vám platí čas strávený debuggingem jako součást vývoje.

Zda mi platí čas strávený debuggingem? Platí. A není to můj problém, upřímně. Nechtějí testy, nemají testy. Kdyby chtěli testy, budou mít testy. Za co platí vám není relevantní. Když přijdu za majitelem firmy a řeknu mu, že to bude trvat jeden týden nebo dva týdny s testy, typicky mi řekne ať se na testy vykašlu, že na to nemá ani peníze ani čas. Jestli se mu to vyplatí je na něm, říkám pokaždé že by se testy hodily, ale nedodávám řešení v podobě ucelených celků; jsem jen námezdní síla a jsem tak spokojen. Nepotřebuji něco někomu nutit.

Tak u neceho, co se vyviji 1 tyden si to i nejak dovedu predstavit, ze to clovek udela plus minus bez chyb. Ale ja treba pracuju na softwaru, ktery se vyviji roky a ma > 10 milionu radku a tam by to proste bez testu neslo.

Kit

  • *****
  • 721
    • Zobrazit profil
    • E-mail
Re:Proč se cpe JavaScript na backend?
« Odpověď #88 kdy: 10. 02. 2025, 23:57:48 »
Nechcem sa tu voči nikomu nijako stavať, ale ono to môže byť ešte horšie. Keď rozmýšľam o svojich skúsenostiach, tak testy sa zvyčajne píšu ťažko, keď je nedostatočný návrh aplikácie. Inak sa testy píšu rýchlo a sú jednoduché až do tej miery, že sú vlastne nudné. A navyše v JavaScripte sa testy píšu ľahko.

Nemôže to byť tak, že tým, že nepíšte testy síce ušetríte čas pred odovzdaním etapy, ale v ďalšej etape sa vám kvôli tomu nedostatočnému návrhu horšie pridávajú nové funkcionality? Takže si možno myslíte, že ste ušetrili čas, ale v skutočnosti ste ho neušetrili a ešte navyše máte vyššiu mieru stresu, lebo vývoj ide ťažšie?

Většinou to bývá tak, že se autor pokouší psát testy až po napsání aplikace. To je nesmysl. Testy se začínají psát ještě před napsáním prvního řádku produkčního kódu. Kód aplikace se pak píše mnohem snáze.

Re:Proč se cpe JavaScript na backend?
« Odpověď #89 kdy: 11. 02. 2025, 00:10:44 »
Nechcem sa tu voči nikomu nijako stavať, ale ono to môže byť ešte horšie. Keď rozmýšľam o svojich skúsenostiach, tak testy sa zvyčajne píšu ťažko, keď je nedostatočný návrh aplikácie. Inak sa testy píšu rýchlo a sú jednoduché až do tej miery, že sú vlastne nudné. A navyše v JavaScripte sa testy píšu ľahko.

Nemôže to byť tak, že tým, že nepíšte testy síce ušetríte čas pred odovzdaním etapy, ale v ďalšej etape sa vám kvôli tomu nedostatočnému návrhu horšie pridávajú nové funkcionality? Takže si možno myslíte, že ste ušetrili čas, ale v skutočnosti ste ho neušetrili a ešte navyše máte vyššiu mieru stresu, lebo vývoj ide ťažšie?

Většinou to bývá tak, že se autor pokouší psát testy až po napsání aplikace. To je nesmysl. Testy se začínají psát ještě před napsáním prvního řádku produkčního kódu. Kód aplikace se pak píše mnohem snáze.

Mne základné princípy TDD a to, čo prináša vo vývoji naozaj vysvetľovať nemusíte  :)