Typový system versus unittesty

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Typový system versus unittesty
« Odpověď #300 kdy: 21. 06. 2018, 14:58:26 »
Jen jsem volně citoval, nicméně asi skutečně existují lidé, co nechápou třeba jen funkce vyššího řádu. A i ti píšou komerční kód.
Tak to nechápou no. Tak přijde senior, řekne jim - to je tak a tak, voni na to - hmm, pomaleji... Zkusí to na malém příkladu, vyzkouší na části projektu, po pěti aplikacích (toho konceptu) budou tvrdit, že to znali vždycky.

Chci říct, samozřejmě souhlasím. Největší problém je ignorace. Ignorace na straně neznalých, že to je blbost, a ignorace na straně znalých, že není třeba to polopatě vysvětlit.


Re:Typový system versus unittesty
« Odpověď #301 kdy: 21. 06. 2018, 15:05:11 »
V tomto vlákně se opět manifestuje staré známé "nejsem-li něco schopen pochopit, je to k ničemu". Aneb na co používat bagr, když mám lopatu...
Přitom to celé začalo starým známým „nejsem schopen to pochopit, ale zrovna bych potřeboval bagrovat, tak to určitě je bagr“. Jen nevím, co je horší…

Re:Typový system versus unittesty
« Odpověď #302 kdy: 21. 06. 2018, 15:09:40 »
Tak to nechápou no. Tak přijde senior, řekne jim - to je tak a tak, voni na to - hmm, pomaleji... Zkusí to na malém příkladu, vyzkouší na části projektu, po pěti aplikacích (toho konceptu) budou tvrdit, že to znali vždycky.

Chci říct, samozřejmě souhlasím. Největší problém je ignorace. Ignorace na straně neznalých, že to je blbost, a ignorace na straně znalých, že není třeba to polopatě vysvětlit.
Obávám se, že ještě horší je, když někdo jenom zahlédne nějaký kousíček, a už má pocit, že to chápe. To je pak ten neznalý, který si ale navíc nenechá vysvětlit, že je neznalý.

v

Re:Typový system versus unittesty
« Odpověď #303 kdy: 21. 06. 2018, 15:11:39 »
Největší problém je ignorace. Ignorace na straně neznalých, že to je blbost, a ignorace na straně znalých, že není třeba to polopatě vysvětlit.
+1
empatie by mohla pomoct, třeba tady SB, banda rádobychytrých pseudomatematiků se mu snaží nacpat, že nějaké conditional conformance burrito je lepší než to prostě napsat v pythonu

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Typový system versus unittesty
« Odpověď #304 kdy: 21. 06. 2018, 15:14:50 »
Obávám se, že ještě horší je, když někdo jenom zahlédne nějaký kousíček, a už má pocit, že to chápe. To je pak ten neznalý, který si ale navíc nenechá vysvětlit, že je neznalý.
Tak ona je taková dobrá zásada, když člověk něco zjišťuje, tak vyfiltrovat zdroje/lidi, které evidentně nejsou k užitku.


SB

Re:Typový system versus unittesty
« Odpověď #305 kdy: 21. 06. 2018, 15:21:30 »
empatie by mohla pomoct, třeba tady SB, banda rádobychytrých pseudomatematiků se mu snaží nacpat, že nějaké conditional conformance burrito je lepší než to prostě napsat v pythonu

Mou jedinou otázkou (odpovídající původnímu dotazu), na kterou mě zajímala odpověď, bylo, zda se mi vyplatí budovat typové systémy, nebo mě vyjde jednodušeji a pružněji celý tento aparát odbourat a nechat to na oněch testech (kterým se možná stejně nevyhnu). Nechci se kvůli tomu hádat, každý si stejně vybere to svoje.

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Typový system versus unittesty
« Odpověď #306 kdy: 21. 06. 2018, 15:24:54 »
empatie by mohla pomoct, třeba tady SB, banda rádobychytrých pseudomatematiků se mu snaží nacpat, že nějaké conditional conformance burrito je lepší než to prostě napsat v pythonu

Mou jedinou otázkou (odpovídající původnímu dotazu), na kterou mě zajímala odpověď, bylo, zda se mi vyplatí budovat typové systémy, nebo mě vyjde jednodušeji a pružněji celý tento aparát odbourat a nechat to na oněch testech (kterým se možná stejně nevyhnu). Nechci se kvůli tomu hádat, každý si stejně vybere to svoje.
Šel jsem oběma cestama. A musím říct, že napsat aplikaci, kde spolehlivost bude stát jen na testech je peklo.
Psát aplikaci v Haskellu, kde mi vše drží typy mi přišla pohodlnější. Ale zase to jde ztuha, a ty IO monády - no člověk si musí hodně zvykat.

Za mě je ideální kompromis: co nejvíc typů, a teprve když to nejde tak pomoct testy.

A úplně největší peklo je Java.

Gődel

Re:Typový system versus unittesty
« Odpověď #307 kdy: 21. 06. 2018, 15:32:34 »
Jen jsem volně citoval, nicméně asi skutečně existují lidé, co nechápou třeba jen funkce vyššího řádu. A i ti píšou komerční kód.
Tak to nechápou no. Tak přijde senior, řekne jim - to je tak a tak, voni na to - hmm, pomaleji... Zkusí to na malém příkladu, vyzkouší na části projektu, po pěti aplikacích (toho konceptu) budou tvrdit, že to znali vždycky.

Chci říct, samozřejmě souhlasím. Největší problém je ignorace. Ignorace na straně neznalých, že to je blbost, a ignorace na straně znalých, že není třeba to polopatě vysvětlit.
Ano, ale každý má limit chápání někde jinde. Polopatě se nedá vysvětlit vše, taková kvantová chromodynamika nebo obecná teorie relativity mají hodně vysoké předpoklady.

Gődel

Re:Typový system versus unittesty
« Odpověď #308 kdy: 21. 06. 2018, 15:37:53 »
empatie by mohla pomoct, třeba tady SB, banda rádobychytrých pseudomatematiků se mu snaží nacpat, že nějaké conditional conformance burrito je lepší než to prostě napsat v pythonu
Mou jedinou otázkou (odpovídající původnímu dotazu), na kterou mě zajímala odpověď, bylo, zda se mi vyplatí budovat typové systémy, nebo mě vyjde jednodušeji a pružněji celý tento aparát odbourat a nechat to na oněch testech (kterým se možná stejně nevyhnu). Nechci se kvůli tomu hádat, každý si stejně vybere to svoje.
Za mě je ideální kompromis: co nejvíc typů, a teprve když to nejde tak pomoct testy.
K tomuto poznatku jednou dospěje každý. Pokud teda dříve neumře...

Gődel

Re:Typový system versus unittesty
« Odpověď #309 kdy: 21. 06. 2018, 15:39:29 »
A úplně největší peklo je Java.
Někomu třeba peklo vyhovuje.

Kit

Re:Typový system versus unittesty
« Odpověď #310 kdy: 21. 06. 2018, 15:42:38 »
Pamatuju si, jak jsem kolegovi vysvětloval, proč je jako docela fajn v konstruktoru testovat vstupní hodnoty; že jinak to balit do třídy nemá smysl. Strašně se kroutil. Je docela chytrý, ale celou svou inteligenci vyčerpal na to, aby mi dokázalmě uhádal, že to tak není.

Jak kdy. Pokud potřebuji pozdní vazbu, tak nevím, co bych v tom konstruktoru testoval.

v

Re:Typový system versus unittesty
« Odpověď #311 kdy: 21. 06. 2018, 15:44:08 »
Mou jedinou otázkou (odpovídající původnímu dotazu), na kterou mě zajímala odpověď, bylo, zda se mi vyplatí budovat typové systémy, nebo mě vyjde jednodušeji a pružněji celý tento aparát odbourat a nechat to na oněch testech (kterým se možná stejně nevyhnu). Nechci se kvůli tomu hádat, každý si stejně vybere to svoje.
za sebe tvrdím, že se to vyplatí a určitě je jednodušší to odbourat a nechat to na testech, přínos se IMHO liší
na typy se dá dívat jako na další testovací nástroj (s každým nástrojem se musí člověk naučit), překladač něco ověří, typy výrazně omezí množinu vstupů (a tím testů) a pak jsou tu QuickCheck-y...
a tak dále

Gődel

Re:Typový system versus unittesty
« Odpověď #312 kdy: 21. 06. 2018, 15:46:08 »
Největší problém je ignorace.
Někdy i absence ignorace, diskuse by byla přínosnější, kdyby ji ignoroval místní Gang of IQ 4. Ale zrovna toto vlákno bylo místy hodně zajímavé.

Gődel

Re:Typový system versus unittesty
« Odpověď #313 kdy: 21. 06. 2018, 15:49:31 »
Pamatuju si, jak jsem kolegovi vysvětloval, proč je jako docela fajn v konstruktoru testovat vstupní hodnoty; že jinak to balit do třídy nemá smysl. Strašně se kroutil. Je docela chytrý, ale celou svou inteligenci vyčerpal na to, aby mi dokázalmě uhádal, že to tak není.
Jak kdy. Pokud potřebuji pozdní vazbu, tak nevím, co bych v tom konstruktoru testoval.
Nějak to pleteš. Míchat konstruktory a pozdní vazbu chce hodně divokou představivost.

Kit

Re:Typový system versus unittesty
« Odpověď #314 kdy: 21. 06. 2018, 16:01:13 »
Pamatuju si, jak jsem kolegovi vysvětloval, proč je jako docela fajn v konstruktoru testovat vstupní hodnoty; že jinak to balit do třídy nemá smysl. Strašně se kroutil. Je docela chytrý, ale celou svou inteligenci vyčerpal na to, aby mi dokázalmě uhádal, že to tak není.
Jak kdy. Pokud potřebuji pozdní vazbu, tak nevím, co bych v tom konstruktoru testoval.
Nějak to pleteš. Míchat konstruktory a pozdní vazbu chce hodně divokou představivost.

Ve chvíli, kdy vytvořím objekt, ještě nevím, které metody budu volat a které atributy mám validovat. Validuje se až při zavolání konkrétní metody.