• ú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í
    SATAI
    SATAI --- ---
    SULTHAN: Tak ono zase 100% uz je ten kontraproduktivni extremismus. Ale zkusenost rika, ze co se blbe testuje byva blby kod.
    SULTHAN
    SULTHAN --- ---
    KOLCON: Tak já rozhodně nejsem proti automatizaci testů, jen úplně nesouhlasím s tím, že unit testy jsou vždy ta nejlepší úroveň, kde něco testovat. A i já jsem si prošel obdobím, kdy jsem se snažil mít kód pokrytý z 100%, včetně případů, které v podstatně nemohly nikdy nastat.
    KOLCON
    KOLCON --- ---
    SULTHAN: Třeba Allen Holub říká, že se má testovat, jestli ten kód dělá to, co chce uživatel, a ne každá picovina....
    SATAI
    SATAI --- ---
    SULTHAN:

    - spíše není pravda
    - není pravda (pokud nemáš nějaký obzvláště dementní jazyk, ale to není problém unit testu)
    - když máš křivou hubu, err, framework...
    SULTHAN
    SULTHAN --- ---
    SATAI: Tak zrovna ty unit testy jak kde a jak na co.

    - některé unit testy jsou vyloženě zbytečné. Když mám funkci na 1-3 řádky tak unit testovat jí je často ztráta času. Nemluvě o tom, že často ani nejde unit testovat jinak než tak, že se přesně zduplikuje její kód.
    - pro unit testy potřebuješ většinou mockovat. A mockování je ve spoustě jazyků neřešitelný problém. Respektive je to řešitelné tak, že se všechny závislosti (včetně například konstruktoru pro Datum apod) abstrahují do interface. Zpravidla to architekturu zkomplikuje. Někdy až tak, že se stane totálně nepřehlednou (viz test-induced design damage).
    - pokud je kód nějak hodně propojený s nějakým frameworkem, tak většionu nelze úplně oddělit náš kód od toho frameworku. Typický příklad je například jakýkoliv UI kód s nějakým UI frameworkem. Ten UI kód zpravidla nelze oddělit od UI frameworku tak, abys mohl unit testovat výstupy. Důsledek - Frontend se velmi špatně unit testuje.
    SUCHRE
    SUCHRE --- ---
    Tady ani nejde o kritiku nejakeho smeru nebo modniho vystrelku, ale jak tak pozoruju, trendum propadaji typove porad ti sami lide.

    Pragmaticky clovek se soustredi na to, aby reseni bylo funkcni, dobre se udrzovalo, popr. rozvijelo, nevyziralo dostupne zdroje a bylo v co nejvetsi mire efektivni. Pak je zbytek, co se neustale neco snazi zmenit, at uz se to tyka pouzite technologie, metodiky, programovaciho jazyka, atp.

    Zatimco diky prvnim by v odvetvi panovala nuda, diky druhym se musime porad neco ucit, neblbneme a diky nutnosti porad neco nekam migrovat je i dost prace pro lidi, co jsou v oboru dlouho a mileradi si to nechaji dobre zaplatit.
    TECHNOBI
    TECHNOBI --- ---
    ANSI barvičky

    MARASAN
    MARASAN --- ---
    Co na tech seznamech zaujalo mne, ze prakticky nic z toho se neuci na fakultě, naopak vsechno, co mne na fakultě naučili, je pořád platný a užitečný. Scary.

    SATAI: ja bych rekl, ze treba i patterns - hlavne ve forme antipatterns, jsou uzitecny.
    KLEINZACH
    KLEINZACH --- ---
    MLEKAR_STEIN: ou je, na to sem uplne zapomnel! a ruku v ruce s objektovym programovanim z toho vznikla CORBA a tam nekde jsme kolektivne usoudili, ze to asi staci, ze sme nekde museli sejit z cesty ;)

    SATAI: jj, jenom se to nesmi prehanet, to je vse
    SATAI
    SATAI --- ---
    KLEINZACH: pritom tak pulka tech veci (zejmena ty unittesty) dava porad velmi dobry smysl a nedelat je je strilet se do nohy
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    ADRAGON: okolo roku 2k muselo být všechno klient server.
    dokonce na to byl i srandovní "Hello world" jako c - s
    MARASAN
    MARASAN --- ---
    mi teda objektovy nesedi vubec a produkuju funkcionalni. ovlivneny to je hodne asi tim,ze pouzivam kompletni kvalitni OS Erlang/OTP. :-D
    SATAI
    SATAI --- ---
    KOLCON: loser!
    KOLCON
    KOLCON --- ---
    JANFROG: Zlatý objekty, z funkcionalniho programování se mi vaří mozek a debugovat to po někom bych taky nechtěl…
    JANFROG
    JANFROG --- ---
    KLEINZACH: Byla? Ja mel za to ze jeste nepominula...no jo, asidelam full-remote moc dlouho a ztracim kontakt se svetem (a jeho trendy).

    Me osobne na tom funkcionalnim trendu bavilo (bavi) ze obvykle proponent zacinal hanopisem na OOP a pak oslim mustkem presel na na funkcionalni, a oho, solidni matematicka teorie lambda kalkulu atd atp. Tak jsem si vzdycky vzpomel na skvely email Vaslly Bykova o dualite objektu a funkci vyssich radu a dal jel OOP :-)
    DEEFHA
    DEEFHA --- ---
    KLEINZACH: Jj, od toho jsou vlny, aby se vracely :⁠-⁠)
    KLEINZACH
    KLEINZACH --- ---
    JANFROG: jj ve dvou to byla zabava i prace najednou, kdyz byl dobrej partak :)
    JANFROG: ale.. ale.. funkcionalni vlna tu uz prece byla :D fakt se to bude tocit dokola jak u obleceni?
    JANFROG
    JANFROG --- ---
    SUCHRE: :-)
    Jako nekdo, kdo se proplkal o vecech kterym nerozumel az prijemne teplemu mistecku ti ale muzu rict, ze ani to plkani neni jen tak - to take trva nejaky patek naucit se plkat uveritelne :-)

    KLEINZACH: Ty jo, kdyz jsem to cetl tak jsem si zavzpominal. "programovani ve dvou" byla skvela zabava a pekne to fungoval, hlavne kdyz ja jsem umel napsat podminku, ale ne cyklus a kamarad umel ten cyklus, ale podminku obvykle zvrzal :-)

    ADRAGON: Jedna z tech aktualnejsich modnich vln je "funkcionalni programovani", tedy alespon za me.
    ARCHDRONE
    ARCHDRONE --- ---
    ADRAGON: napr. MongoDB https://www.youtube.com/watch?v=b2F-DItXtZs nebo taky OOP (trillian dollar disaster), atp
    KLEINZACH
    KLEINZACH --- ---
    ADRAGON:
    * OOP: v jednu dobu (200x) vsechno muselo bejt objekt. nektery firmy jeste v roce 20xx koukaji na obycejnou funkci jako na neco spinaveho, neco, co musi byt zabaleno do staticke metody tridy..
    * patterny - Gangbang Of Four.. singleton, factory a visitor a to je tak vsechno co v pameti zbylo
    * genericky c++: pak pro zmenu muselo byt vsechno templata anebo templata templaty
    * uml: pak zase vsechno muselo bejt obrazek, idealne kod generovat z obrazku
    * unit testy: pak se zase muselo vsechno testovat
    * programovani ve dvou
    + vsechny ty manazersky metodiky: waterfall, agile, scrum, devops,...

    deti vysiraj.. treba si jeste na neco vzpomenu
    Kliknutím sem můžete změnit nastavení reklam