• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    ALMAD
    ALMAD --- ---
    VOY: Tim sem se utěšoval první dekádu, ale teď už je potřeba si přiznat, že to bude něčim jinym nahrazovaný dýl, než jQuery
    VOY
    VOY --- ---
    NOHOUS: Je to jen technologie. Kazda technologie ma svoje nedostatky a temer kazda bude za par let nahrazena necim jinym s jinymi problemy. Nema smysl si kvuli tomu kazit naladu :-).
    JANFROG
    JANFROG --- ---
    KLEINZACH: Ale jo, ja s tebou i souhlasim. Doted nezapomenu na tu frustraci kdyz mi jedno PR s moji genialni sablonou neproslo kvuli nejake obskurni chybe E12345 a co to znamena jsem nedokazal dohledat, protoze veskera dokumentace je hodne dobre ukryta pred lidma z venku (pokud neni rovnou classified :-) Couvam kazdej den.

    U me je to spis takova ta radost z neceho noveho, uzivam si kdyz vidim jak neco lze v C++ vyresit elegantne co jinde byl desnej voser. Navic jsem spadnul do projektu, co jedou uz delsi dobu (~30 let :-) a tam proste nejak vykrystalizoval ten "mensi jazyk" a tak pouzivam ten a moc si nevymyslim (vetsinou :-) Verim, ze az to budu delat 20 let, uvidim to stejne jak ty. Ale do te doby si hodlam uzivat malych radosti :-)
    JARDABEREZA
    JARDABEREZA --- ---
    KLEINZACH: kolik z toho cca zvladne vychytat nějaký linter?
    KLEINZACH
    KLEINZACH --- ---
    JARDABEREZA: clovece toho je tolik, ze musely vzniknout 'core guidelines' :) https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines

    KOJA: hehe, taky uz sem musel parkrat vycouvat :) pripadne si vypomoct preprocesorem i prestoze sem to total nemel v umyslu.
    SATAI
    SATAI --- ---
    NOHOUS: halt chtějí zapadnout do JavaScript ekosystému. #trololo
    NOHOUS
    NOHOUS --- ---
    SULTHAN: ale react je nepříčetná sračka by design, takže co
    JARDABEREZA
    JARDABEREZA --- ---
    KOJA:
    KLEINZACH: nějaké konkrétní příklady co nedělat? Možná se to budu brzy učit :-D
    KOJA
    KOJA --- ---
    KLEINZACH: “Ja si vzdycky neco vymyslim a pak zjistim, ze to nejde” popisuje moji zkusenost naprosto presne. Vetsinou to jeste probiha tak, ze se s c++ peru, nektery omezeni obejdu upravou designu, zabiju s tim cas a teprve az nakonec zjistim, ze to fakt nejde a musim to predelat skoro komplet.
    KLEINZACH
    KLEINZACH --- ---
    JANFROG: ja ti s tim c++ nevim - i prestoze v tom delam 20+ let, jsem z toho jazyka trochu zatrpklej (tim vic, cim sem starsi). obecne ok, ale ja si vzdycky neco vymyslim a pak zjistim ze to nekde nejde, protoze treba debilni pravidla explicitni instanciace sablon, nebo treba ted sem zkousel constexpr a vono to, do kelu, nema constexpr argumenty (existuje jenom nejakej proposal). je to vlastne nekolik jazyku v sobe, vsude je to sama dira, vyviji se to hrozne pomalu a vzdycky to, co potrebujes, bude az za desetnact let :) nebo treba takova reflection, ktera se je porad na horizontu.. to i ty jaderny fuze se dockame driv!

    jak rika stroustrup nebo sutter "v c++ je schovanej mensi, elegantnejsi jazyk, kterej se snazi vyklubat ven" ;) ale taky je mozny, ze se mu to nepovede a ten jazyk v tom inkubatoru chcipne ;P
    JANFROG
    JANFROG --- ---
    KLEINZACH: Dal jsem plus, ale musim se priznat, ze ted delam dost v C++ a celkem si to uzivam...
    KLEINZACH
    KLEINZACH --- ---
    I like a lot about D. My main criticism of the language is that it quickly becomes too noisy as more of its nice features are used. I think this could be fixed, for example with better attribute defaults in function signatures, and I think Walter is aware of this.

    I could tolerate the noisy language bits, but:

    The standard library (Phobos) was so riddled with paper cuts that every day I used it felt like trying to navigate the surface of a coral reef... barefoot... in a hurricane... while blindfolded. It drove me off after a few months. (That was last year.)

    ouch :)
    jsem rad ze nejenom c++ je jak svycarskej nuz, kterej je nabrousenej i tam, kde se to drzi
    ALMAD
    ALMAD --- ---
    DRUDRIGER2: Ja ti nevim, obcas zas plati “zadna otazka neni dost blba” #kecy

    DRUDRIGER2
    DRUDRIGER2 --- ---
    ja to delam tak ze mu v junie (inteliji v goland) napisu jasne udelej mi testy a popisu mu presne funckionality ktere chci aby k nim napsal testy. priste je vyjmenuji. udela mi jen ty testy ktere fakt potrebuji, a samozrejme to musim prohlidnout co tam dela, neco smaznout ci pozmenit.

    Jako sam sem to skouzel davno ze se napsal jen napis testy pro to co vidis v stage v gitu, ale to fakt generovalo strasne mec a nepotrebnych testu.

    jako chce to zlaotou cestu, neco napise on neco ja, a dulezite ji psat konkretne. na blbou otazku je blba odpoved... u AI to plati dvakrat
    VOY
    VOY --- ---
    AXTHEB: Minimalne do doby nez zpusobi nejaky incident ;-). Ale jako jo, kdyz pak zmenis tu vnitrni implementaci a testy porad prochazi, tak to je rozhodne dopaminovy high ;-).
    AXTHEB
    AXTHEB --- ---
    VOY: Jo, není to snadné.
    Pak ale zjistíš, že potřebuješ změnit interface té privátní metody a jen se kocháš všemi těmi testy, které není třeba opravit:)

    A taky víš co, pokud ten edge case neumíš vyvolat z venku, asi ho není třeba testovat:)
    VOY
    VOY --- ---
    AXTHEB: To mi prave prijde, ze je nelehka vec, pres nejakou volajici funkci je casto hodne pres ruku otestovat vsechny edge cases. Samozrejme asi neni nutne snazit se dosahnout 100% coverage, ale pokud pridam prostrednika tak se mi zda, ze uz se ani nebavime o unit testu, pak uz testuju jestli verejna funkce spravne vola nejakou privatni implementaci.
    AXTHEB
    AXTHEB --- ---
    VOY: přes tu funkci, která to volá. Samo, nejde to udělat bezhlavě.
    Jak jsem psal níž, nakonec stejně skočím u toho, že se mi unit testy přetaví na e2e. Ve skutečně unit testech pak optimálně zůstanou jen nějaké edge case a failure mode testy, u kterých by e2e setup nebyl snadný. Race conditions, třeba.
    VOY
    VOY --- ---
    AXTHEB: Myslis to ted tak, ze mas nejakou "privatni" funkci, ktera neni soucasti exportovaneho API a tyhle testy odmazes? Pokud tomu tak je, jak tu logiku otestujes? Pres nejaky E2E testy? Nebo pres tu funkci, ktera tu privatni vola?
    AXTHEB
    AXTHEB --- ---
    KOLCON: To ti z toho vychází dost implicitně, píšeš testy, které tě někam posunou. Já navíc dost často testy mažu, když mám unit testy na nějakou funkci a tu používám, tak jakmile je dopsané to místo, kde si funkci používám, tak to proberu, aby na tu vnitřní funkci bylo minimum testů (klidně žádné).
    SULTHAN
    SULTHAN --- ---
    VOY: test, co nic netestuje, je naprosto klasický v jakémkoliv unit-testování frontendu. Co taky testovat na frontendu? Že se někde něco zobrazí? Že se po kliknutí na tlačítko provede nějaká funkce? Prostě to vůbec nedává smysl a zpravidla se to posouvá na vyšší úroveň interakčních testů (proklikávání oproti mockům), E2E testů (proklikávání oproti reálnému prostředí), obojí spojeno se screenshotováním (reálně nic netestuje, ale diffy zajišťují, že se nic nerozbilo).
    Kliknutím sem můžete změnit nastavení reklam