• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    KERRAY
    KERRAY --- ---
    já po 15 letech práce s kódem teprve teď jsem ve firmě, kde se dbá na štábní kulturu, ke všemu jsou testy, automatizace, a 'works on my machine' není ani zdaleka dostačující na to, aby se to pouštělo dál - pro předchozí firmy nebylo programování hlavní náplň, nebo si to aspoň šéfové mysleli, a z toho, jak náročné a nákladné je dělat to pořádně, dbát, aby prošel jen dobře promyšlený, srozumitelný, otestovaný kód, by se dřívější šéfové osypali... co ale neviděli byly ty obří náklady na hašení požárů, přepisování, zaučování nováčků atd., které se tím uspoří
    E2E4
    E2E4 --- ---
    VOY: to mi přijde, že prostě není ideální kultura a proces. asi tu mame vysoký standard. :)

    přesně tyhle problémy způsobené tím, že na velké a složité codebase pracuje hodně lidí celý ten proces a kultura kolem něj řeší..

    a jak se píše o příspěvek níž, ty napíšeš komentář, a je na autorovi aby řekl "dobrej nápad ale v tyhle fázi to uděláme zatím bez něj". nemusí ho to blokovat dokud to reviewer neschválí..
    SULTHAN
    SULTHAN --- ---
    VOY: úplně nechápu. Pokud vidím nějaké možné vylepšení kódu, tak to tam napíšu. Třeba github nenechá mergnout, pokud všechny konverzace (tj. komentáře) nejsou resolved, tj. někdo si to musí minimálně přečíst a označit za "přečtené". Když se drobné detaily neopravují, tak se akorát vytváří technický dluh pro budoucnost.
    VOY
    VOY --- ---
    ANT_39: To je jednoduchy pozorovani, ze v kazdym tymu najdes lidi, ktery clicknou na approve uplne vseho a pak lidi co napisou spoustu komentaru a neni lehky je uspokojit. S tim to jestli sem Cech moc spolecneho nema. Samozrejme se snazim delat kvalitni review, abych mel pokud mozno co nejvetsi pozitivni dopad, kdyz uz nejaky cizi kod ctu.

    SULTHAN: Bavime se o opravdu nemale aplikaci postaveny na canvasu. Netrivialni frontend, na kterem pracuji najednou nizsi desitky tymu. Pracuji na frontendu uz celkem dlouho, rozhodne dost dlouho na to, abych vedel ze neni tym, pro ktery by bylo snadny udrzet tak velkou sadu testu stabilni a bleskove rychlou. Pokud je, tak jsem o nem zatim neslysel. Rada, ze pokud testy nejsou stabilni mam je zahodit je pomerne bezcenna, testy vubec nemusi byt nestabilni diky praci myho konkretniho tymu. Podstatne je, ze cim delsi feedback loop na PR a vetsi mnozstvi reviewers, tim mensi motivace delat opravdu malinky granularni PR. Navic vsechno jde ihned na produkci a vyvoj s feature flags taky neni uplne bez rizik.

    K tomu abych zablokoval PR requestovanim nejakych zmenu uz musim mit silnejsi duvod. Pokud chces rozumne vychazet s lidmi tak nemuzes na kazdy PR postnout wishlist mnoha zmen a blokovat dokud ti nebude vyhoveno. V tomhle mame kazdy nejaky socialni kredit, ktery je omezeny, a ja jim rozhodne neplytvam pokud to co k danemu PR chci rict neni zasadni.
    KOLCON
    KOLCON --- ---
    ANT_39: Nevím co je na tom českýho, nepozoruji že by se jiné národy chovaly nějak vzorně.

    KPI jsou problémem samy o sobě. Zabíjí to agilitu a lidi mají tendence optimalizovat na to kpi, podle kterýho jsou hodnocený. Což většinou nechceš.
    SULTHAN
    SULTHAN --- ---
    ANT_39: Když dá "request changes", tak žádný další approval ho nepřebije.
    ANT_39
    ANT_39 --- ---
    VOY: A jeste zvlast k tomu "kdyz to neapprovnu ja, udela to nekdo jinej". To je takovej... az karikaturne ceskej postoj, no. Kdyz bude v dobrym stavu aspon ta cast, ktera projde pres tebe, bude na tom projekt o kus lip, nez kdyz bude sracka durch vsechno. Ale jako jo, je to tochu boj s vetrnymi mlyny, zvlast kdyz jdou nejaky KPI proti tobe.
    ANT_39
    ANT_39 --- ---
    AMBIENTIUM: Dava smysl. Napsal jsem programator, ale samozrejme to muze byt uz nekdo driv, kdo rozhodne, co je atomicky z hlediska mergovani. Programator pak resi jen rozdeleni na commity, logickou progresi commitu k nejakymi vysledku, atd.

    Ad to CI, muze byt zadouci, aby CI dokazal projit kazdej prefix toho merge requestu. (Jen prvni patch, prvni plus druhy, to plus treti, atd.) Aby pak pri bisekcich nevznikaly ruzny nefunkcni bazmeky co nejdou testovat. Asi zalezi na projektu, u nas bisekce pouzivame celkem pravidelne, tak na to dost dbame.

    VOY: Jo, rozbita kultura je prusvih. Nejhorsi jsou code review po telefonu, kdy si dotycni dva neco povykladaji, vysledkem je approval, a nikdo nevi, v cem byl problem, a jak ho autor odargumentoval. V kodu to stopu nezanecha, v mailech / mergovacim nastroji taky ne.

    Co se tyce tech testu, nechapu, jakou to tu hraje roli. OK, mate noisy testy, to prece nikoho neomezuje v tom, co vrazi do merge a jak ho rozdeli na commity, ne?
    SULTHAN
    SULTHAN --- ---
    VOY: To je kec, já taky dělám na frontendu. Práce samozřejmě rozdělit na commity lze stejně jako kdekoliv jinde. Je pravda, že nějakou feature pak mezi větvema merguju jako velký balík, ale mám ji stejně rozdělenou do zvládnutelných commitů.
    Nerozumím souvislosti s e2e testy. Ano, jsou drahý, ale pokud je máš nespolehlivý, tak je rovnou zahoď. Na rozdělanou práci logicky nepíšeš e2e testy. Pokud máš nějaké náhodné pády v E2E testech, je to typicky buď chyba spojení (nám se stává poměrně málo, máme i retries) nebo máš chybu v testech.
    AMBIENTIUM
    AMBIENTIUM --- ---
    ANT_39: u nás jsou malý PR daný už při analýze, kdy ty tasky tvoříme a zapisujem do Jiry. Snažíme se jet metodou jeden task = jeden PR. Občas jsou subtasky a PR se dělá na každej subtask. Děláme to tak, aby po zamergování se to mohlo ihned releasnout, tzn. musí projít komplet CIčko. Pullrequesty jsou pak fakt docela malý. Obvykle se vejdeme do 300 řádků změn nebo novejch. Ano, trávíme víc času na analýze a promýšlíme to docela do detailu, ale osvědčilo se to.
    VOY
    VOY --- ---
    ANT_39: Zcela s tebou souhlasim, ale bohuzel v praxi tam kde pracuji ja (na frontendu) tohle neni casto dost dobre mozny zajistit, protoze jednak smysluplna zmena je casto dost velka a i kdyz by se principielne rozdelit dala, tak te treba muzou brzdit drahy a nespolehlivy E2E testy. Dalsi vec je, ze kdyz na to approval nedam ja tak on se nekdo jiny uz najde a to je valka co nevyhrajes.

    Samozrejme na cokoliv se da namitnout, ze proces se da zlepsit, ale to je jednak ve velky firme beh na dlouhou trat, druhak sem jeste ve svem zivote nevidel ani neslysel o firme, kde by frontendovy integracni testy fungovaly rychle a bez nutnosti je sem tam restartovat, aby prosly.

    Ale jak rikam, mluvim ze svoji specificky perspektivy na frontendu, v zavislosti na tom v jake oblasti delas to muze byt lehci.
    ANT_39
    ANT_39 --- ---
    VOY: IMHO zajistit, aby byl merge request dostatecne dobre definovanej, rozsekanej na atomicky reviewovatelny patche a s dostatecnou dokumentaci / commit messagema / atd. je zodpovednost autora. Pokud jako reviewer dostanu na stul blbe rozsekanej blob, kde neni jasny co je cilem nebo nejakej patch dela vic, nez by mel, tak holt bounce. A to je zase zodpovednost reviewera, aby to bouncnul. Od toho mame interaktivni rebase, aby slo praci prezentovat srozumitelne.

    Tahle disciplina pak dost pomaha pri blamovani, kdy je mozny se doblamovat ke commitu s rozumnou commit message, kde je napsany, proc jsou veci tak, jak jsou. Coz dale emancipuje juniory, protoze si spoustu otazek dokazou zodpovedet sami a nejsou zavisli na buddym nebo seniorovi.
    JARDABEREZA
    JARDABEREZA --- ---
    VOY: No tady časová dotace na code review nebyla a oni to dělali fakt důkladně a snaží se, aby jedno PR řešilo jednu věc a dalo se v tom vyznat. Takže dokud si nejsou jistý, že to tak chtějí nepouští to dál. Případně se zjistí, že je třeba něco spravit, tak to tam visí delší dobu, než se dokončí jiný PR, který opravuje chybu.

    Ono taky záleží jaká je tvoje role dodavatele. Např. daňový poradci mají povinně pojištění profesní odpovědnosti za škody. Oni mi sice řeknou, ať si to pročtu jestli tam někde není chyba, jenže já tomu vůbec nerozumím a proto si je přece platím.

    Ale u téhle korporace jsem jako pomocná síla. Tzn. jejich zaměstnanci by měli znát produkt lépe anebo přinejmenším stejně jako já. A když je něco nejasné, tak se o tom samozřejmě pobavíme. Pokud by si mě najali na něco, co oni sami neumí a nerozumí tomu, tak přiznávám, že to je alibistický.

    No a pokud tam tu chybu stejně pustím, tak budu první, kdo se bude hlásit o opravu :-)
    E2E4
    E2E4 --- ---
    VOY: no ale v takovým případě pak už ani nemá smysl dělat peer review u těch malých změn ;)
    KOLCON
    KOLCON --- ---
    JARDABEREZA: To mi přijde jako v pohodě ošetření problému...
    EUCHRID
    EUCHRID --- ---
    VOY: A jak za to má potom ručit autor kódu? Jako když podnikáš, tak neseš nějaké riziko a je na tobě, abys zajistil procesy, aby se práce kontrolovala. Něco jiného je, když na to zaměstnanec sere a chybu či dokonce škodu udělá schválně nebo mimo pravidla. Ale zaměstnanec nemá co nést riziko např. proto, že mu práci nikdo nekontroluje, nebo že třeba někde kód ani netestují a po půl roce se diví, že se jim koleje v týmu nešešly. Alibismus je to házet na zaměstnance. Má existovat moment, kdy je hotovo, odklepnuto, zkontrolováno.
    Dodatečné úpravy či opravy, může stát, jsou pak nový úkol.
    VOY
    VOY --- ---
    JARDABEREZA: To mi přijde jako poněkud alibistický přístup. Každý ví, že se problém do codebase může lehce dostat i přes veškerou snahu o kvalitní review a to zejména v případě kdy neexistuje disciplína dělání malých změn, u kterých ještě lze o kvalitním review vůbec mluvit. U nás např. někdo lehce změní 50-70 souborů a tam už reviewer při časové dotaci na review nemůže ručit prakticky za nic.
    JARDABEREZA
    JARDABEREZA --- ---
    Když se mě jako OSVČ v roli kontraktora u jedné korporace ptali na pojištění škody, tak jsem řekl, že všechna moje práce půjde přes pull requesty, kde jejich zaměstnanci budou dělat code review a od toho okamžiku je to jejich problém. Co se ostatních věcí týče, tak dělám remote a nemám moc šanci jim fyzicky něco poškodit :-D. Stačilo jim to.
    ALMAD
    ALMAD --- ---
    KOLCON: Tady podle me hodne zalezi v jaky zemi a mezi jakejma subjektama, v mym sektoru se pojisteni b2b skod dela bezne a naopak korporaty od dodavatelu to pojisteni dost casto vyzadujou
    KOLCON
    KOLCON --- ---
    E2E4: To nevím... Když jsem kdysi zjišťoval to pojištění v b2b, byl to problém. Pojišťovny v tom viděly velké riziko, že se firmy mezi sebou domluví. Možná se situace změnila a jak to je u fyzických osob netuším.

    Řešil jsem to pro situace v automotive kde když zastavíš linku, může být každá minuta drahá.
    Kliknutím sem můžete změnit nastavení reklam