Nový projekt vs. cizí kód

Re:Nový projekt vs. cizí kód
« Odpověď #60 kdy: 11. 09. 2020, 17:10:24 »
Nicmene si myslim, ze i kdyz sednu do rozjeteho vlaku tak porad tvurci byt muzu. A ne mene nez u neceho na cem se zacina.

Jasně. Ale je to více přehrabování se ve špíně. Zatímco když děláš něco nového, tak jen tvoříš. Asi jako rozdíl mezi kuchařem a umývačkou. I umývačka může být kreativní a efektivní. A rozhodně velice užitečná, až nutná. Ale přeci jen to není vono.

Tahle analogie nesedi.
Cilem kuchare je pripravit pro zakaznika jidlo...
Cilem umyvace je pripravit pro kuchare prazdnej talir aby ho mel kam dat.

Cilem programatora obvykle neni vytvorit prazdny repozitar. (Jen v pripade, ze se na projektu zacina ;-))


Re:Nový projekt vs. cizí kód
« Odpověď #61 kdy: 11. 09. 2020, 21:48:22 »
Proste nekoho bavi delat nove projekty, nekdo rad pokracuje ve stavajich. Sve misto na trhu si najdou oboje skupiny. Nema to co delat se senioritou, nebo ze jedno je vice nez druhe. Proste kazdeho bavi neco jine. Takhle bych asi shrnul muj pohled na toto tema :)

Nicmene @listoper ses tu ohanel pracemi okolo plynu a ze to je podobne jako psat SW. To prave ze vubec NENI podobne. Je to sakra rozdil. Co jsem rychle nasel na netu -  https://elektro.tzb-info.cz/bezpecnost-a-revize/6661-prace-revizniho-technika - proste pro praci okolo plynu musis mit nejaky skoleni, je to vsechno zaneseno v zakone. Ja se v tom samozrejme nevyznam, ale ocekavam, ze takovy technik ma ze zakona zodpovednost atd. Naproti tomu jestli bance dodas kybl hnoje co se bude tvarit jako SW tak co? No tak nic.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Nový projekt vs. cizí kód
« Odpověď #62 kdy: 11. 09. 2020, 21:54:38 »
Nicmene si myslim, ze i kdyz sednu do rozjeteho vlaku tak porad tvurci byt muzu. A ne mene nez u neceho na cem se zacina.

Jasně. Ale je to více přehrabování se ve špíně. Zatímco když děláš něco nového, tak jen tvoříš. Asi jako rozdíl mezi kuchařem a umývačkou. I umývačka může být kreativní a efektivní. A rozhodně velice užitečná, až nutná. Ale přeci jen to není vono.

Tahle analogie nesedi.
Cilem kuchare je pripravit pro zakaznika jidlo...
Cilem umyvace je pripravit pro kuchare prazdnej talir aby ho mel kam dat.

Cilem programatora obvykle neni vytvorit prazdny repozitar. (Jen v pripade, ze se na projektu zacina ;-))

To přirovnání je naopak velice přesné. Refactoringem nic nového nepřipravuješ. Konfigurací CI nevytváříš žádnou zvláštní hodnotu. Určitě ne produkt. Nenene, to přirovnání považuji za velice výstižné.

Re:Nový projekt vs. cizí kód
« Odpověď #63 kdy: 11. 09. 2020, 22:43:33 »
Nicmene si myslim, ze i kdyz sednu do rozjeteho vlaku tak porad tvurci byt muzu. A ne mene nez u neceho na cem se zacina.

Jasně. Ale je to více přehrabování se ve špíně. Zatímco když děláš něco nového, tak jen tvoříš. Asi jako rozdíl mezi kuchařem a umývačkou. I umývačka může být kreativní a efektivní. A rozhodně velice užitečná, až nutná. Ale přeci jen to není vono.

Tahle analogie nesedi.
Cilem kuchare je pripravit pro zakaznika jidlo...
Cilem umyvace je pripravit pro kuchare prazdnej talir aby ho mel kam dat.

Cilem programatora obvykle neni vytvorit prazdny repozitar. (Jen v pripade, ze se na projektu zacina ;-))

To přirovnání je naopak velice přesné. Refactoringem nic nového nepřipravuješ. Konfigurací CI nevytváříš žádnou zvláštní hodnotu. Určitě ne produkt. Nenene, to přirovnání považuji za velice výstižné.

Huh?
Refactoring se pri novem vyvoji nedela? Mozna tak prvni tyden.
A konfigurace CI opravdu neni prilis tvurci. Ale zase... Jak casto se to dela u rozjeteho projektu?
Naopak kdyz zacinam novy tak vzdycky.

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Nový projekt vs. cizí kód
« Odpověď #64 kdy: 11. 09. 2020, 23:32:22 »
Refactoring se pri novem vyvoji nedela? Mozna tak prvni tyden.
A konfigurace CI opravdu neni prilis tvurci. Ale zase... Jak casto se to dela u rozjeteho projektu?
Naopak kdyz zacinam novy tak vzdycky.

Refactoring při novém vývoji dělám už během první hodiny. Je součástí každého vývoje.

Pokud konfigurace CI není tvůrčí, tak ji generuj. Nejde to? Hmm, tak asi je tvůrčí.


BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Nový projekt vs. cizí kód
« Odpověď #65 kdy: 12. 09. 2020, 00:20:13 »
Nicmene si myslim, ze i kdyz sednu do rozjeteho vlaku tak porad tvurci byt muzu. A ne mene nez u neceho na cem se zacina.

Jasně. Ale je to více přehrabování se ve špíně. Zatímco když děláš něco nového, tak jen tvoříš. Asi jako rozdíl mezi kuchařem a umývačkou. I umývačka může být kreativní a efektivní. A rozhodně velice užitečná, až nutná. Ale přeci jen to není vono.

Tahle analogie nesedi.
Cilem kuchare je pripravit pro zakaznika jidlo...
Cilem umyvace je pripravit pro kuchare prazdnej talir aby ho mel kam dat.

Cilem programatora obvykle neni vytvorit prazdny repozitar. (Jen v pripade, ze se na projektu zacina ;-))

To přirovnání je naopak velice přesné. Refactoringem nic nového nepřipravuješ. Konfigurací CI nevytváříš žádnou zvláštní hodnotu. Určitě ne produkt. Nenene, to přirovnání považuji za velice výstižné.

Refactoring se pri novem vyvoji nedela?

Dělá. Což nic nemění na skutečnosti, že refactoring obvykle není moc tvůrčí/zábavný, etc.

Na druhou stranu, já třeba mám ten pocit ozdravování celkem rád, našel jsem se v tom.

Jsou to prostě dva naprosto různé pocity: Možnost odejít z kuchyně, která je vyfintěná; nebo položit na stůl voňavou večeři. Vyřešit a rozmotat špagety, a vyhodit z kódu špatné věci, pročistit a učesat API, zrychlit kód; versus adoptovat novou webovou službu na stávající api, kdy vám všechno krásně hraje do noty, všechno přesně zapadá, pomocí pár řádek kódu.

Re:Nový projekt vs. cizí kód
« Odpověď #66 kdy: 12. 09. 2020, 06:36:30 »
Refactoring se pri novem vyvoji nedela? Mozna tak prvni tyden.
A konfigurace CI opravdu neni prilis tvurci. Ale zase... Jak casto se to dela u rozjeteho projektu?
Naopak kdyz zacinam novy tak vzdycky.

Refactoring při novém vývoji dělám už během první hodiny. Je součástí každého vývoje.

Pokud konfigurace CI není tvůrčí, tak ji generuj. Nejde to? Hmm, tak asi je tvůrčí.

Bohuzel, ne kazdy dela TDD.

CI neni tvurci ve smyslu, jak rekl boneflute, ze netvorim produkt.
OK muzes rict, ze bez toho by produkt nebyl, takze je to soucast prace na produktu, ale to by se pak dalo dohnat do krajnosti a rict, ze chodit do skoly na prednasky je taky tvurci, protoze se tim pripravujes na ten vyvoj.

Re:Nový projekt vs. cizí kód
« Odpověď #67 kdy: 12. 09. 2020, 06:43:44 »
Proste nekoho bavi delat nove projekty, nekdo rad pokracuje ve stavajich. Sve misto na trhu si najdou oboje skupiny. Nema to co delat se senioritou, nebo ze jedno je vice nez druhe. Proste kazdeho bavi neco jine. Takhle bych asi shrnul muj pohled na toto tema :)

Nicmene @listoper ses tu ohanel pracemi okolo plynu a ze to je podobne jako psat SW. To prave ze vubec NENI podobne. Je to sakra rozdil. Co jsem rychle nasel na netu -  https://elektro.tzb-info.cz/bezpecnost-a-revize/6661-prace-revizniho-technika - proste pro praci okolo plynu musis mit nejaky skoleni, je to vsechno zaneseno v zakone. Ja se v tom samozrejme nevyznam, ale ocekavam, ze takovy technik ma ze zakona zodpovednost atd. Naproti tomu jestli bance dodas kybl hnoje co se bude tvarit jako SW tak co? No tak nic.

To prijde neboj. I pri praci pro banku muze jit o lidske zivoty/osudy. A uz ted se stava, ze jsou programatori obvinovani. Viz dieselgate.
A i pro nas programatory bude lepsi kdyz budeme chovat jako kdyby ty zakony uz existovali.
Viz "Programmers oath".


Re:Nový projekt vs. cizí kód
« Odpověď #68 kdy: 12. 09. 2020, 06:51:29 »
Nicmene si myslim, ze i kdyz sednu do rozjeteho vlaku tak porad tvurci byt muzu. A ne mene nez u neceho na cem se zacina.

Jasně. Ale je to více přehrabování se ve špíně. Zatímco když děláš něco nového, tak jen tvoříš. Asi jako rozdíl mezi kuchařem a umývačkou. I umývačka může být kreativní a efektivní. A rozhodně velice užitečná, až nutná. Ale přeci jen to není vono.

Tahle analogie nesedi.
Cilem kuchare je pripravit pro zakaznika jidlo...
Cilem umyvace je pripravit pro kuchare prazdnej talir aby ho mel kam dat.

Cilem programatora obvykle neni vytvorit prazdny repozitar. (Jen v pripade, ze se na projektu zacina ;-))

To přirovnání je naopak velice přesné. Refactoringem nic nového nepřipravuješ. Konfigurací CI nevytváříš žádnou zvláštní hodnotu. Určitě ne produkt. Nenene, to přirovnání považuji za velice výstižné.

Refactoring se pri novem vyvoji nedela?

Dělá. Což nic nemění na skutečnosti, že refactoring obvykle není moc tvůrčí/zábavný, etc.

Na druhou stranu, já třeba mám ten pocit ozdravování celkem rád, našel jsem se v tom.

Jsou to prostě dva naprosto různé pocity: Možnost odejít z kuchyně, která je vyfintěná; nebo položit na stůl voňavou večeři. Vyřešit a rozmotat špagety, a vyhodit z kódu špatné věci, pročistit a učesat API, zrychlit kód; versus adoptovat novou webovou službu na stávající api, kdy vám všechno krásně hraje do noty, všechno přesně zapadá, pomocí pár řádek kódu.

OK. Kdyz Leonardo maloval Monu Lisu tak to mel hotovy na prvni dobrou?
Nemel. Porad to predelaval a upravoval(refaktoroval) dokud nebyl spokojenej.
Byla tvurci jen ta prvni faze dokud byly na platne bily mista? A zbytek uz byla jen nudna netvurci rutina?

Re:Nový projekt vs. cizí kód
« Odpověď #69 kdy: 12. 09. 2020, 08:34:58 »
Proste nekoho bavi delat nove projekty, nekdo rad pokracuje ve stavajich. Sve misto na trhu si najdou oboje skupiny. Nema to co delat se senioritou, nebo ze jedno je vice nez druhe. Proste kazdeho bavi neco jine. Takhle bych asi shrnul muj pohled na toto tema :)

Nicmene @listoper ses tu ohanel pracemi okolo plynu a ze to je podobne jako psat SW. To prave ze vubec NENI podobne. Je to sakra rozdil. Co jsem rychle nasel na netu -  https://elektro.tzb-info.cz/bezpecnost-a-revize/6661-prace-revizniho-technika - proste pro praci okolo plynu musis mit nejaky skoleni, je to vsechno zaneseno v zakone. Ja se v tom samozrejme nevyznam, ale ocekavam, ze takovy technik ma ze zakona zodpovednost atd. Naproti tomu jestli bance dodas kybl hnoje co se bude tvarit jako SW tak co? No tak nic.

To prijde neboj. I pri praci pro banku muze jit o lidske zivoty/osudy. A uz ted se stava, ze jsou programatori obvinovani. Viz dieselgate.
A i pro nas programatory bude lepsi kdyz budeme chovat jako kdyby ty zakony uz existovali.
Viz "Programmers oath".

No jenze zijeme ted a tady. Mozna to prijde za 10 let mozna za 100 let. O dieselgate zadne podrobnosti nevim. Az bude nejaky cech programatoru nebo cech OSVC a SRO delajici IT projekty, ze ktereho budes moct byt vyloucen a bude ti sebrana license delat na vsech IT projektech, pak tu uvidim analogii s plynarema.

Re:Nový projekt vs. cizí kód
« Odpověď #70 kdy: 12. 09. 2020, 11:49:24 »
Proste nekoho bavi delat nove projekty, nekdo rad pokracuje ve stavajich. Sve misto na trhu si najdou oboje skupiny. Nema to co delat se senioritou, nebo ze jedno je vice nez druhe. Proste kazdeho bavi neco jine. Takhle bych asi shrnul muj pohled na toto tema :)

Nicmene @listoper ses tu ohanel pracemi okolo plynu a ze to je podobne jako psat SW. To prave ze vubec NENI podobne. Je to sakra rozdil. Co jsem rychle nasel na netu -  https://elektro.tzb-info.cz/bezpecnost-a-revize/6661-prace-revizniho-technika - proste pro praci okolo plynu musis mit nejaky skoleni, je to vsechno zaneseno v zakone. Ja se v tom samozrejme nevyznam, ale ocekavam, ze takovy technik ma ze zakona zodpovednost atd. Naproti tomu jestli bance dodas kybl hnoje co se bude tvarit jako SW tak co? No tak nic.

To prijde neboj. I pri praci pro banku muze jit o lidske zivoty/osudy. A uz ted se stava, ze jsou programatori obvinovani. Viz dieselgate.
A i pro nas programatory bude lepsi kdyz budeme chovat jako kdyby ty zakony uz existovali.
Viz "Programmers oath".

No jenze zijeme ted a tady. Mozna to prijde za 10 let mozna za 100 let. O dieselgate zadne podrobnosti nevim. Az bude nejaky cech programatoru nebo cech OSVC a SRO delajici IT projekty, ze ktereho budes moct byt vyloucen a bude ti sebrana license delat na vsech IT projektech, pak tu uvidim analogii s plynarema.

Nekdo potrebuje zakony a nekomu staci ze se nestydi vecer podivat do zrcadla, protoze vi ze odvedl kvalitni praci.
Kdyz se zeptas plynare, proc kontroluje jestli nekde neutika plyn tak co ti rekne?
A. Protoze podle zakona musim.
B. Protoze nechci nekoho zabit.
A kdyz ti dva plynari daji takove odpovedi, ktereho si radsi pozves domu?

Re:Nový projekt vs. cizí kód
« Odpověď #71 kdy: 12. 09. 2020, 12:33:29 »
Nejsem z IT, ale kdyz se to tak rozjelo, tak bych se rad zeptal:

Jak se stavite k dodelavani nehotoveho kodu po nekom?

V me praci to patri asi k nejhorsimu, co cloveka muze potkat, zvlast kdyz se treba puvodniho autora nejde zeptat, tak by me zajimalo, zda je to u programovani stejne.

Re:Nový projekt vs. cizí kód
« Odpověď #72 kdy: 12. 09. 2020, 14:54:09 »
Nejsem z IT, ale kdyz se to tak rozjelo, tak bych se rad zeptal:

Jak se stavite k dodelavani nehotoveho kodu po nekom?

V me praci to patri asi k nejhorsimu, co cloveka muze potkat, zvlast kdyz se treba puvodniho autora nejde zeptat, tak by me zajimalo, zda je to u programovani stejne.

Nevim jestli to pujde srovnat.
Kdyz je program "hotovy" tzn. uz se dal do kodu nesaha. Tak to dost casto znamena ze umrel a dal ho nikdo nepouziva.
Protoze pokud to dal nekdo pouziva tak je vetsinou dal potreba neco pridavat, ubirat, vylepsovat...
Prebirat zijici projekt je celkem normalni a nevidim v tom nic "horsiho".
Prebirani vyvoje konkretni feature se prilis casto nedeje, protoze to byvaji zmeny v radu tydnu.

Re:Nový projekt vs. cizí kód
« Odpověď #73 kdy: 12. 09. 2020, 15:01:08 »
versus adoptovat novou webovou službu na stávající api, kdy vám všechno krásně hraje do noty, všechno přesně zapadá, pomocí pár řádek kódu.

Obvykle nic krásně nezapadá a právě refaktoring dává šanci, aby nová funkce mohla být jen pár řádek. Není to buď a nebo, ale nejdřív jedno a až následně druhé. Velice málokdy lze novou funkci přidat pěkně bez úpravy stávajícího kódu, typicky se vytahuje společný předek, stávající kód se zobecňuje pro společné využití generifikací  atd. Skoro vždycky je to několik úvodních commitů (štábní kultura, zobecnění, vytažení rozhraní pro novou funkcionalitu, atd.). Nedovedu si představit, jak by se to mělo dělat jinak.

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Nový projekt vs. cizí kód
« Odpověď #74 kdy: 12. 09. 2020, 15:54:36 »
versus adoptovat novou webovou službu na stávající api, kdy vám všechno krásně hraje do noty, všechno přesně zapadá, pomocí pár řádek kódu.

Obvykle nic krásně nezapadá a právě refaktoring dává šanci, aby nová funkce mohla být jen pár řádek. Není to buď a nebo, ale nejdřív jedno a až následně druhé. Velice málokdy lze novou funkci přidat pěkně bez úpravy stávajícího kódu, typicky se vytahuje společný předek, stávající kód se zobecňuje pro společné využití generifikací  atd. Skoro vždycky je to několik úvodních commitů (štábní kultura, zobecnění, vytažení rozhraní pro novou funkcionalitu, atd.). Nedovedu si představit, jak by se to mělo dělat jinak.

Vytahování společných předků bývá značně riskantní. Raději vytahuji celé objekty. Také zapouzdření metod do objektů vídám málokdy, ale přitom je to velmi efektivním a robustním řešením. Místo toho se dělají nějaké servisní třídy, které jsou jen hromadou funkcí.