• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    MCHNCD
    MCHNCD --- ---
    (Python) Kluci ja na GUI moc nejsem, me staci terminal, ale budu muset udelat GUI (klient si prosi) a chci, aby to vypadlo trosku soucasne.
    Moje volba teda padla na ttkbootstrap, ale byl bych rad, pokud nekdo vi o necem lepsim, ze by se podelil. GUI to bude jednoduchy, par inputu, buttony, okno pro log a par progress baru. Jde hlavne o vizual, aby to nevypadalo jak z Win95 mno.
    SH_PANDA
    SH_PANDA --- ---
    LUDWIG_
    LUDWIG_ --- ---
    K technicke dokumentaci mi prijde zajimave tohle (jako system premysleni, co clovek pise pro koho):

    Diátaxis
    https://diataxis.fr/
    E2E4
    E2E4 --- ---
    V zásadě je to ortodoxie vs cit pro realitu..

    JANFROG: řekl bych že to především závisí na tom prostředí (i)..
    VOY
    VOY --- ---
    Beru argument, ze komentar zastara a muze programatora svest na scesti, ktere skonci chybou. Ale trochu tady predpokladame, ze ten programator vsem komentarum 100% veri a necha se na to zcesti svest. Pokud se to stane, troufnu si rict, ze to je dost casto v codebase co je tak jako tak komplikovana a je slusna sance, ze udelam spatne rozhodnuti i na zaklade cteni kodu. V realu v legacy kodu rad vyuziju coby signaly vlastni cteni kodu, dostupne komentare i treba LLM. A i potom pocitam s tim, ze napr. oprava nejakeho tricky edge casu muze rozbit zas jine veci, o kterych jsem ani nemel tuseni a samozrejme na ne nejsou testy.

    Sam jsem priznivce toho v prvni rade veci dobre pojmenovavat. Kdyz jsem se ale onehda s praci setkal s kolegyni, co hodne cetla Uncla Boba a kazdy znak komentare pro ni byl nepritel tak to uplne moc pozitivni zkusenost nebyla. A pokud z nejakeho hodne konkretniho dobreho duvodu delam v kodu neco co se na prvni pohled zda naprosto nelogicke tak je podle me napsani komentare vzdycky na miste. Nicmene vetsina lidi co jsem za svou karieru potkal byla spis lina komentare a obecne jakykoliv detailnejsi dokumentace psat.
    JARDABEREZA
    JARDABEREZA --- ---
    JANFROG: Chtěl bych vidět někoho, kdo zvládne programovat v Assembly bez komentářů :-D
    JANFROG
    JANFROG --- ---
    Jinak tady na ty diskuzi je pekne videt, jak je ten nazor determinovanej predchozi zkusenosti. Ted budu teoretizovat: ta zkusenost je dana hlavne dvema vecmi (i) pracovnim prostredim (kolegove a vztahy, nastavenim a funcknosti procesu) a (ii) typem projektu (web aplikace je jinej sport nez data processing a jeste jinej sport jsou (jit) prekladace nebo firmware).

    Co by bylo (pro me) zajimavy videt je jestli panuje vetsi shoda v ramci tech "subkultur" (webaru, databazistu, systemaku). No nic, konec sneni, cas jit neco delat :-)
    JANFROG
    JANFROG --- ---
    KOJA:
    > Podobne u slozitejsich algoritmu-proste si precist...

    Nech me hadat: dominator tree / loop detector? Pokud ano, zajimala by me genialni optimalizace. Obavam se, ze me tohle brzo ceka take :-(
    KOJA
    KOJA --- ---
    AXTHEB: S pristupem, ze existuje jedine spravne reseni (design projektu) a cokoliv jineho je spatne jsem se setkal. Malokdy ale u 40+. Mas predsudky a nejsou spravne.

    Ten slozity format specku ma-ISO normu. Jmenuje se C++ a cist standard je pro valnou vetsinu veci ten nejhorsi zpusob zkoumani jak to funguje.

    Vynucovat 1:1 pojmenovani prvku abstrakce proti nejakemu teoretickemu modelu znemoznuje mit kdy abstrakci popisujici cokoliv obecnejsiho nez presne ty entity ktere ten jeden dany model obsahuje. Takze nemit to tak udelane naopak dava perfektni smysl.
    AXTHEB
    AXTHEB --- ---
    TOOMIX: Currently, Microsoft recommends using Appium with WinAppDriver as a UI test tool for desktop and UWP applications. WinAppDriver is a service that supports Selenium-like UI Test Automation on Windows Applications.
    JARDABEREZA
    JARDABEREZA --- ---
    QWWERTY: Mě třeba dlouho trvalo přijít na to, že část aplikace, která přistupuje k souborům, REST API a je napojená na spoustu dalších tříd a stavů nemám zkoušet testovat unit testem, ale end to end testem. Protože jsem zkoušel udělat mocky, pro spoustu věcí a bylo strašně těžké to udržovat a vyvýjet pro to. Takže mi pak přišlo lepší ty testy nepsat než psát. Ale u end to end testů těch mocků není potřeba tolik a bude to mít větší vypovídací hodnotu.


    TOOMIX: Mimochodem včera jsem zjistil, že do Photoshopu se dá poslat dotaz na UI a dostaneš zpět info o elementu. Např. se zeptáš, kde je checkbox s nějakým ID a ono ti to vrátí pozici na obrazovce v pixelech, co má za text a jestli je zaškrtlý. Takže testovací software si pak může ukrást myš a klávesnici a povyplňovat si to :-D ... jak je na tom winforms nevím, ale něco takového tam udělat nemůže být super těžké, ne?
    TOOMIX
    TOOMIX --- ---
    V čem se dá dobře otestovat winforms aplikace kromě manuálního testu?

    Typicky mám třeba číselník aut, otevřu formulář, načte se přehled. Dám přidat, vyplním textboxy, spinedity atd. a stisknu OK. Pak dám editaci, něco změním atd.
    AXTHEB
    AXTHEB --- ---
    QWWERTY: Chápu, je lepší mít jednu nohu než žádnou.
    QWWERTY
    QWWERTY --- ---
    AXTHEB: oh sweet summer child... mimo profesni sw development vypada napr. u nas situace tak, ze:
    - kolega radsi vsechno testuje manualne, nez aby vzal kus logu a napsal si test case. naprostou vetsinu lidi, co u nas pisou skripty, se mi nepovedlo presvedcit, ze testy jim usnadni zivot, i kdyz to znamena psat vic kodu. a to i pres to, ze tam maji treba X zanorenych podminek, takze manualni pretestovani je pain
    - kolega napsal funkcni script na automaticky troubleshooting. fakt uzitecny tool. a je to ten stejny clovek, co hledal 20 minut, jak vypnout output na stdout, ackoliv o 3 radky niz mel print("")... konverzace vypadala jako "ono se to tam nekde vypisuje". "ok, ukaz mi, ktery radek kodu se spusti, kdyz se to vypise". "no to ja nevim"
    - dalsi kolega mi rekl, ze nepise ani komentare, protoze nema dobrou anglictinu a nema mentalni kapacitu na psani komentare, aby v EN daval smysl. kdyz jsem mu rikal, at je pise CZ/SK, protoze lepsi neco nez nic, tak vypadal ochotnejsi zacit aspon uvazovat o jejich psani

    a protoze nejsme devs, tak programovani nemame v popisu prace => kvalita kodu se neda pouzit jako metrika pro osobni hodnoceni
    aktualne beru kazdy komentar, ktery nekdo nekdy nekam napise. i kdyby byl outdated, tak aspon napovi, co se tam ten clovek snazil delat


    moje jedina nadeje je, ze se nas ted snazi zapojit do vetsiho externiho projektu a ten uz ma dopredu nastaveny standardy, takze kdo se zapoji, tak je bude muset dodrzovat
    AXTHEB
    AXTHEB --- ---
    KOJA: popsaný formát máš mít ve specce a příklady máš v testech.
    V dalším odstavci máš špatně pojmenovaný třídy, v posledním funkce (případně jsou ty funkce moc velký).

    Vycházím teda z toho, že ten kód je dobře napsaný a dobře otestovaný, no.
    SATAI
    SATAI --- ---
    KOJA: tohle je dobré mít přímo u kódu nebo ještě lépe generované.

    Třebas u nás se ze signatur, anotací a dokumentace metod na controllerech generuje OpenAPI. To pak skoro pořád někdo používá, takže je dodnes šance, že se s realitou nerozjede (nemluvě o tom, že by to v mnoha případech i způsobilo řeč IDE).
    SIRLOON
    SIRLOON --- ---
    OMNISLASH: myslim ze tihle pro nas delali jako kontraktori. Odevzdali kod uplne nahovno, rozbili co slo ale argumentovali tim, ze naprogramovali presne to co sme zadali a ty veci okolo rozbili de facto schvalne, aby jim jejich kod nejak fungoval. I kdyz nefungoval dobre. A pak se jeden jejich tester hlasil k nam do firmy a hrde poukazoval na to, ze ten kod testoval on
    KOJA
    KOJA --- ---
    Ja mam teda s komentarema asi dost jinou zkusenost nez vetsina… prijdou mi k nezaplaceni.

    Napr. se parsuje syntakticky velmi slozity vstup-mit nad funkci parseFoo popsany format Foo a jeste treba malou ukazku je imo super.

    Podobne kdyz je nejaka specka a ted je to implementovano jako par stovek trid, tak mit tak nejak lidsky napsano jakou entitu ze specky trida s podobnym ale ne uplne stejnym nazvem modeluje je zase k nezaplaceni.

    Podobne u slozitejsich algoritmu-proste si precist, ze hledame connected components v grafu a stavime z nich jiny graf a jeste jsme prisli na genialni optimalizaci ktera nam zadarmo prekvapive zajisti nejakou vlastnost toho novyho grafu je proste 100x lepsi nez se dozvedet, ze deklarujeme worklist a vrhneme ho do 100-radkovy bohate vetveny smycky…
    SH_PANDA
    SH_PANDA --- ---
    RUDOLF: U nas ma kazdy package svoji dokumentaci, ktera se meni s kodem, nebo alespon by se mela. Dokumentace celeho produktu se pak builduje z tech partial dokumentaci. Pri buildu se validujou vsechny relativni linky.
    DELVIT
    DELVIT --- ---
    AXTHEB: Osobně jsem si jednu dobu myslel něco obdobného, ale změnil jsem názor. Vhodný komentář na příhodném místě může ušetřit spousty času při hledání chyb.
    Kliknutím sem můžete změnit nastavení reklam