• ú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í
    CERMI_FOX
    CERMI_FOX --- ---
    ABAP: jo, zakázkový vývoj aplikací je z tohohle pohledu (a mnoho dalších) zlo, velmi se mi ulevilo, když se tím přestal živit, považuju to za jedno z nejlepších rozhodnutí v životě :) Ale i tam se dá schovat, pokud je to aktivní projekt a klient poptává pravidelně a v blocích. Pokud je to v maintenance, tak je třeba holt trpět a nový projekt udělat hezky.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    ABAP: My nebyli velký korporát, ale naši zákazníci byli čistě interní. Takže šlo argumentovat že to buď bude náš čas na přepsání, nebo pak artist time před deadline když něco nepůjde doprogramovat dost rychle a budou to muset řešit manuálně. Ale to jsme měli velmi osvícené a technické vedení až po majitele včetně.
    ABAP
    ABAP --- ---
    CERMI_FOX: Je to jen akademická debata. Zákazník to prostě nechce platit znova a vývojáří zpravidla žádají mzdu.
    Budget na přepsání zdrojáku se občas najde ve velkém korporátu, kde si tím pár pozic obhají, nebo pojistí existenci.
    RATTKIN
    RATTKIN --- ---
    frontendy se takhle asi dělají všude? my to teda takhle nějak děláme :-)
    Interview with Senior JS Developer in 2022
    https://www.youtube.com/watch?v=Uo3cL4nrGOk
    KOJA
    KOJA --- ---
    CERMI_FOX: Ja jsem to mel asi napsat jinak. Ja coby vyvojar mam celkem jiste nejaky bias. Manazeri, nekdy i ty technicky zdatni jako treba ex-vyvojari, mivaji zase jiny bias. Problem vidim v tom, jake presvedcive argumenty pouzivat. Idealne nejake jednoduche a snadno dolozitelne fakty. Protoze si umim predstavit, ze kdybych byl ve vedouci pozici a prisel za mnou vyvojar s tim, ze je nezbytne nutno ted pulroku blahodarne pusobit na kod “prozoze proto”, tak to taky neodkyvu.

    Ja s tebou taky souhlasim ale bohuzel mi prijde, ze je tezke o tomhle presvedcit nekoho kdo se denodenne nerype v konkretnim kodu.
    CERMI_FOX
    CERMI_FOX --- ---
    KOJA: postupný přepisování/refactoring má spoustu výhod a důvodů, který je třeba dát do té rovnice vyplatí/nevyplatí, jen tak z hlavy o půlnoci z mých zkušenosti:
    * končící support a dostupnost security oprav
    * zhoršující se maintainability - původní design modulu nebo systému nestačí novým požadavkům - změny trvají čím dál déle, častěji se chybuje, bohužel když je tohle zřetelně vidět, tak už bývá pozdě, resp cena refactoringu je už hodně vysoká a spirála zvyšující se náročnosti odkládáním je na světě
    * lidi odchází a znalosti s nima, v hlubinách battle tested kódu jsou místa, o kterých nikdo neví, proč tam jsou, ale všichni se je bojí odstranit. Testy nevyřeší vše; je to nějaký starý request od klienta? Performance? Race condition?
    * nábor - na prasecký kód je čím dál těžší nabrat nový dobrý lidi - starý lidi přirozeně odchází a nechci dělat s novýma špatnýma lidma
    * nový framework může přinést performance benefity (třeba přechod z .netfw na .net6 - možná je to na jiných platformách jinak; u C se tohle asi neřeší :) )


    Tvoje body jsou validní, nezpochybňuju, jen mám zkušenost, že management, co rozhoduje o budgetu, nebývají vývojáři, ale manageři z povolání, netechnický lidi, o to horší je jim vysvětlit + a - refactoring vs nicnedělání a všechno přepočítávají na prachy (na druhou stranu by někdo mohl podotknout, že je možné s nima lépe manipulovat).
    Prostě je třeba to vyvážit
    KOJA
    KOJA --- ---
    KOLCON: Duvodu proc se udrzba zanedbava si umim predstavit hodne.

    - Management (predchozi generace vyvojaru) nevnima problem jako urgentni.
    - Projekt stejne vyhledove speje ke konci a prepsani by neprineslo dostatek uzitku.
    - Vedeni pamatuje programovani pred 20 lety a tudiz je z jejich pohledu projekt v poradku.
    - Snaha vyzdimat s danou lidskou kapacitou z projektu co se da s vizi, ze v urcitou dobu bude stejne prekonan (prepise to konkurence nebo open-source).
    - “Ted na to neni cas.”
    - Battle-tested - pres veskere neduhy je prasecky kod odladeny na milionech uzivatelu a jakykoliv prepis smrdi pruserama. Treba se projekt odladil na nadsenych early adopterech nez se stal kritickym.
    - …


    V realu to asi bude kus od kusu a jeste casto asi nejaka kombinace. Problem vidim spis v opacne otazce - jake jsou dobre a presvedcive duvody do prepisovani/refactoringu kodu?
    XBAHNO
    XBAHNO --- ---
    KOLCON: Spagetovy zadani vede k spagetovymu kodu. + to co rika TOOMIX:, na takovou jednoduchou zmenu ti nikdo 40h neda, kdyz se to da polepit za dve hodky a to ze to rozprasi celou myslenku architektury, to vidis ty a nikdo jiny.
    TOOMIX
    TOOMIX --- ---
    KOLCON: neochota zákazníků to platit
    KOLCON
    KOLCON --- ---
    No a čím myslíte že to je, že se aplikace neustále průběžně neprepisuji? (Když je potřeba přidat novou featuru). Špatný návrh? Lenost? Doufání, že to bude časem problém někoho jiného?
    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 :-).
    Kliknutím sem můžete změnit nastavení reklam