• ú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í
    INDIAN
    INDIAN --- ---
    KOJA: k tomuhle pocinu me dohnaly jiz zmineny faktory + vyuzil sem tak trochu toho, ze sem byl jedinej core programator kterej si moh tak trochu dupnout... Spis sem tohle rozhdnuti uvadel proto, ze se do takovyhle souhry asi uz nedostanu... Dalsi vec je to, ze puvodni kod byl jinak docela pruhlednej, plno veci bylo tak trochu copy/paste, takze sem uz dopredu vedel ze me necekaj naky extra pasti.
    v nasledujicim zamestnani uz sem podobnej zamer viditelne brzdil jako clen tymu (prestoze sem patril spis k "diverzantsky" casti), protoze sem si byl vedomej komplexity celyho projektu, bylo to vseobecne velky sousto a nebyl si jistej zda bysme byli schopni se dohodnout na finalni forme.
    A kdyz sem pak podobny veci resil ze zodpovednejsiho postu kde sem musel resit vicemene i zdroje, bylo mi jasny ze je to dost nakladna zalezitost. Ono kdyz se pro neco takovyho tym rozhodne, je treba si bejt jistej ze nekdo stezejni v pulce neodejde nebo ze ho neprelozej nekam jinam, stejne tak si clovek musi bejt jistej s jeho kompetencema - to ze dotycnej dovede najit chybu a commitnout fix kterej zachrani v danym momentu situaci neni zaruka toho, ze je dobrej i na to aby napsal komplet nakej novej modul kvalitne a i z hlediska udrzitelnosti.
    Momentalne treba resim komplet refaktoring jednoho z projektu taky (puvodni kod napsal kolega toho casu cerstvej absolvent, cca pred 3 rokama), nicmene pokud se k tomu opravdu rozhodnem, bude to jenom pro novou verzi nasazenou do uplne rozdilnyho prostredi, kde by portovani stavajiciho reseni bylo pracnejsi nez to napsat znovu ... a ano, porad sem v ty euforii ze se to musi komplet prepsat protoze z hlediska maintenance to bude cimdal vetsi horror (vlasy si rvu denne kdyz se v tom hrabu), ale zustavam porad pragmatictejsi, protoze pro klienta to bude mit porad mizivou pridanou hodnotu v dohlednym horizontu (tj. par let).
    KOJA
    KOJA --- ---
    INDIAN: Procpak uz se o nic podobneho pokouset nebudes? Moc politiky to prosadit? Nebo stresu to prepsat?
    AXTHEB
    AXTHEB --- ---
    Ja tu mam jeden soft ktery jsem napsal pred peti, sesti lety (jedina vec, co mam po ruce, psal jsem to na zakazku, sam a dlouho jsem to nevidel). Padaji z toho pdfka, ktere pripadne podepisuje pan prezident pri jmenovani akademiku.
    Ted jsem ze zvedavosti koukl do zdrojaku, a HOWKING naprosto sedi ;:)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Ja zrovna brecim nad prepisovanim neceho co ma dejmetomu 20kloc C++.
    A jen zjistit co vsechno to vlastne dela a kam to je vsude prorostly resim uz dva tejdny.
    (Prepsat se to fakt musi.. a mam s timhle druhem designu 10+ let zkusenosti, jen teda.. to co sem delal ja treba melo jasne definovany interfacy classy, a ne 6 souboru o 3-4kloc kazdy)

    A jdu se pochlubit, protoze soucasti toho bylo nekolik OMG na coding guidelines. Tak sem navrhl nejaky zmeny a dostal tohle:
    So, to be honest, I clicked on that link with dread, thinking, “Oh no, not coding conventions wars!" :) But this was entirely reasonable, and for the items on which I have an opinion, I agree with what you're proposing.

    Coz mi prijde ze v oboru lepsi pochvala snad bejt nemuze :-D
    INDIAN
    INDIAN --- ---
    Za tech skoro 20 let programovani se me podarilo pouze jednou prosadit prepsani komplet jedny vyznamny casti jednoho reseni a to jenom diky tomu, ze na stavajici verzi uz neslo napatlat to co novi zakaznici pozadovali a vyzadovana optimalizace s ohledem na vykon nebyla mozna, coz sem pomerne jednoduse demonstroval live benchmarkama behem jedny porady. Konkretne se jednalo o komplexni scheduler v kombinaci s remote deploymentem (neco podobnyho dela dneska ansible s towerem) a trvalo mi to asi pul roku + samozrejme pote naky postfixy a dodelavani prubeznejch ficur...
    Bude to uz cca 10 let, dneska mi ten kod s prihmourenejma ocima jeste porad prijde v cajku, ale verim tomu ze pokud k nemu prijde nekdo novej a zkusenej, bude mit tu tendenci to prepsat taky.

    ano, zahralo to u srdicka a potesilo programatorsky ego, porad si muzu pohonit triko s tim ze nekomu ukazu ze tamhle a tamhle porad bezi muj kod, ze sme tim tenkrate vicemene prodlouzili zivot celymu produktu a i firme vseobecne...
    kazdopadne znovu se o nic podobnyho pokouset nebudu :)
    SPIKE411
    SPIKE411 --- ---
    Kdo platí údržbu těch 30+ let starých obskurních aplikací/systémů, do kterých se za neskutečný peníze za použití 30+ let starých obskurních knihoven a jazyků s velkou nechutí dolepuje nová funkcionalita?

    IBM scrambles to find or train more COBOL programmers to help states | Ars Technica
    https://arstechnica.com/tech-policy/2020/04/ibm-scrambles-to-find-or-train-more-cobol-programmers-to-help-states/
    GREATDRAKE
    GREATDRAKE --- ---
    RATTKIN: A kdo vám ty člověkoroky na přepsání platí?
    JINX
    JINX --- ---
    To mi úplně připomíná jednoho mého nadřízeného: "Kód se má psát správně už od začátku" (ano fixoval jsem po něm taky nějaké bugy). Code Review s nim byly dost drsné, ještě že tam už nepracuji.
    CERMI_FOX
    CERMI_FOX --- ---
    VOY: taky mi to přijde neerealistický, myšlenka, že zastavíme na půl roku celý vývoj a předěláme všechno, co se v tom 10let starým kódu neudělalo dobře nebo není podle současných trendů, je z jinýho světa. Přeci jen 10let konstantního vývoje a přidávání funkcionalit nejde prostě přepsat.
    Jasně, když není takový časový tlak, tak se části, na kterých se pracuje, průběžně zlepšují, ale kompletní přepis je prostě scifi z časového hlediska
    KEJML
    KEJML --- ---
    RATTKIN: O jak velkých aplikaci ích tady mluvíš? Kolik člověkohodin se stráví na jednom takovým přepisu?
    INDIAN
    INDIAN --- ---
    RATTKIN: dle tvyho tvrzeni mam teda neskutecnej talent pracovat vyhradne pro spolecnosti ktery stavej jejich fungovani na legacy kodu :) .. a to sem jich vystridal docela dost
    vazne myslis ze je na to cas a vseobecne prostredky aby se tohle delalo?
    RATTKIN
    RATTKIN --- ---
    to duševní zdraví je důležité, já programuju zatím 4. rokem a zatím mě to nepustilo, uvidím za 10 let.

    Na druhou stranu, první verze gmailu byly kompatibilní s ie6 a byly napsané v kdo ví čem. Za tu domu měli hodně rewritů, ne jen změnu ikonky.
    Moderní aplikace se mění velice rychle a devops je metodologie, jak se z toho nezbláznit.
    VOY
    VOY --- ---
    Hlavne na svete je tolik kodu, ze nikdo nikdy nebude mit dost casu udelat vsechen co by chtel krasny a cisty. A nebo se najde nekdo kdo bude mit jinou definici krasy a cistoty, napr. nekdo kdo si neulitava na funkcionalnim programovani atp. Proto se priklanim k tomu, ze zraly programator si snaze udrzi dusevni zdravi pokud slevi z toho, ze jeho zivotni misi je psat jedine cisty kod :-).
    VOY
    VOY --- ---
    RATTKIN: Tak gmail byla jedna z prvnich opravdu modernich webovych aplikaci a je tu s nami uz 18 let. Je to samozrejme relativni, chces-li byt opravdu striktni tak osobni pocitace tu s nami zas tak dlouhou nejsou.
    SATAI
    SATAI --- ---
    RATTKIN: za dekady tu budou dekady stare webove aplikace...
    RATTKIN
    RATTKIN --- ---
    já si zase neumím představit webovou aplikaci, která žije dekády bez masivních přepisů.. nemluvě o tom, že před dekádami nic takového jako webové aplikace nebyly..
    VOY
    VOY --- ---
    RATTKIN: Nevim kde pracujes, ale ja si fakt nedovedu predstavit vlastne cokoli kazdy rok prepisovat. Leda ze by to byla nejaka mikroskopicka interni aplikace a pozadavky se kazdy rok drasticky menily. V realu se setkas spis s tim, ze software zije dekady a postupne se na nej nabaluji tuny bordelu. Nas job spociva v tom tuhle komplexitu nejak manazovat a zajistit, ze se vyvoj kompletne nezastavi. Jedna z moznych zbrani jsou jiste i strategicky rewrity nejakych casti, kde uz to dal opravdu nejde, ale v praxi to vidim spis zridka a nezenou se do toho ani programatori, natoz management.
    RATTKIN
    RATTKIN --- ---
    KOJA: já nejsem (ještě) ve fázi co teď ty.
    Napadá mě, není ten přístup o kterým píšeš, z prostředí Enterprise ShitWare?

    Na TypeScript frontendech jsme zvyklí každý cca rok alikaci komplet přepsat. Místo battle-tested říkáme legacy. aby se to nerozpadlo při každém rewrite, používáme devops a testy.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    JANFROG: CVS.. tyhle moderní metody. Na stáži co sem dělal.. no taky už to je 15 let (2007) sem potkal v praxi používaný RCS.
    JANFROG
    JANFROG --- ---
    KOJA:
    > A taky jsem pochopil, ze to ze mi neco prijde divny a zmatecny muze byt muj problem a ne nutne problem toho kodu
    Presne. Tech duvodu by se naslo vic, muze to byt tim, ze nevidis vetsi / historicky kontext nebo proste tim, ze pred lety se moc nevedelo jak to delat jinak.

    > Navic jsem si na patrani v kodu a git archeologii zvyknul a do urcite miry to ted pokladam za svou konkurencni vyhodu.
    Ha ha, presne! Na tom jsem si (castecne) vystavel zivnost :-)

    A pro kontext, schvalne jsem si dohledal pocatky toho v cem se vrtam posledni dobou ja, samotneho me to prekvapilo:
    P1: prvni release 1986
    P2: nejstarsi dohledatelny copyright notice 1988
    P3: vyvijen minimalne od 1996

    pro srovnani, prvni release CVS byl v roce 1990 :-)
    XBAHNO
    XBAHNO --- ---
    KOC256: JJ, nekdy i poznam, kdo to psal jenom podle stylu. A to i pres normu kodovani, co v praci mame, stejne je ten rukopis videt.
    Kliknutím sem můžete změnit nastavení reklam