O radosti z práce a overengineeringu

vlko
7/18/2011 12:00 AM
7/18/2011 12:51 AM

Poznámka: Pôvodne som tento text písal pre aspnet.sk, ale pretože obsahuje príliš veľa osobných názorov, zverejnil som ho radšej tu. Ignorujte preto nesúvisiace nelogickosti v texte, nemám rad prepisy článkov, lebo môžu zmeniť povahu pôvodného textu.

K tomuto článku ma inšpirovali dve veci. Menšia flame v diskusii k správičke Slovenské asp.mvc projekty - bartrujeme.sk a to, že sa cez twitter druhý krát dostal ku mne tento zaujímavý článok, s ešte zaujímavejším názorom:

Proč selhává tradiční rozdělení rolí při vývoji

Dúfam, že sa T neurazí, keď ho zoberiem ako porovnávací prvok voči mojej osobe, nemyslím to nejak v zlom skôr nás dvoch beriem ako dva rôzne okraje spektra vývojarov. Ja v podstate samouk s ekonomickým vzdelaním a T ako predstaviteľ enterprise architektov.

Prečo by som ho rád porovnal? Lebo v nejakej fáze sme boli rovnaký, obaja sme študovali patterny, síce ja, prečo si to nepriznať, len povrchne, zato T do hĺbky. Vie, že MVC ma viac modelov a aj prečo a pre mňa to bude furt len ten jeden aj keby definícii nevyhovoval, proste ho tak všetci nazývaju.

Niekde počas študia som ja prišiel na to, že ma viac a viac vedomosti proste neuspokojuje, pretože moje projekty začali byť viac a viac komplikované a viac a viac narastali aj moje predstavy o ideálnom frameworku na ktorom by som postavil svoje ďalšie applikácie. Čiastočné riešenie som neprijímal a v hlave snoval plány ako to všetko nadesignovať a ako veci zapadajú do seba. A vtedy sa to zlomilo a stratil som všetku chuť do kódenia, lebo taký framework neexistuje. Odvtedy idem cestou KISS a YAGNI. A hlavne vidím pri veľa riešeniach enormný overengineering.

Dosť bolo historickej odbočky, späť k téme, pretože tu chodí dosť ľudí z enterprise sféry, mám otázku. Nemáte niekedy rovnaký pocit? Je zlé ak na niečo, na čo sa hodí implicitne nejaká architektúra/framework použijém inú? Nemá byť vývoj aj o radosti z kódenia a štipky nadšenia?

Ešte mi nedá nespomenuť tak moderné slovo, čo teraz dosť letí startup-y, kde už pri začiatku projektu vedia, že väčšinu kódu počas vývoja zahodia a najdôležitejšie je, aby tu boli nejaké výsledky? Nie je problém, že .net projektyprojekty, urob a odovzdaj a to nás tak ovplyvňuje?

Kurnik otázok ako na spovedi, tak idem už radšej spať. Okrem toho prvý krat mam riadny problém vybrať správny nadpis pre článok.

Komentáre (3):

flat flat desc tree
Comment
anonymous-naraga
7/18/2011 5:42 AM
O radosti z práce a overengineeringu
ad overengineering: http://tirania.org/blog/archive/2011/Mar-29.html kazdopadne, existuje treti (dominujuci) typ vyvojarov: ti ktori "dont give a fuck". sory za amerikanizmus ale sloveska alternativa je proste vulgarnejsia aj ked asi vystiznejsia. poznam prilis vela takych ktori neriesia a IF-THENuju odusu bez toho aby za niecim videli sirsie suvislosti. takze imho to ze vobec riesis ako robit veci lepsie ta posuva do uplne ineho levelu. akekolvek itelektualne badanie obcas proste vedie ku frustracii. deal with it. ja osobne patrim asi skor blizsie k fenotypu T, pretoze ma veci do hlbky studovat bavi. uvedomujem si ze moje vyplody su niekedy trochu overeng a snazim sa stym bojovat :)
Comment
anonymous-slavof
7/18/2011 10:05 AM
O radosti z práce a overengineeringu
Ano, pasca overengineeringu - specialne ak clovek toho teoreticky dost vie a neboji sa to pouzit ;) - je pomerne velka. Aj sa som skor "T" typ, a vsetci sa iste snazime s overengineeringom bojovat. Velakrat je problem v tom, ze je malo casu (tzv. prakticke kompromisy, "potom to este upravime...", atd.) na to, aby sme dane - pomerne zlozite riesenie doladili, refaktorovali, este zjednodusili, ... Navrhnut dostatocne zlozite, elegantne, riesenie netrivialneho problemu stoji imho dost casu a ten nie vzdy mame. Najst hranicu, bod, ked dane riesenie je stale pomerne jednoduche, robi co treba, je aj (aspon trochu) elegantne, a zodpoveda nielen KISS a YAGNI, ale aj DRY, a nie je to katastrofa co sa tyka udrziavania a supportu daneho kodu do buducna, nie je vobec - ale vobec - jednoduche. To je umenie ktoremu sa (asi vsetci) ucime. V praxi to vychadza niekedy tak, inokedy inak, netreba to vsak vzdavat... ;) Ci mam ten pocit? Nie, nemam. Neverim na idealne frameworky - som uz asi stary a asi som uz videl (first-hand aj pohladom zvonku) dost pokusov... No stale mam pocit, ze ak sa daju pri nejakom projekte dohromady spravni ludia a aj dalsie potrebne ingrediencie - daju sa navrhnut a implementovat naozaj kvalitne a elegantne riesenia. A nie, nie je zle ak mas na vec vlastny nazor, a pouzijes ine, aj ked nestandardne riesenie - ak ti to tak z nejakeho dovodu vyhovuje. Predpoklada sa vsak, ze poznas aj to standardne riesenie a mas dovod to robit inak. Napr. standarne riesenie je pristup k relacnym datam je klsicke ORM (NH, ci EF). No Tom Saffron napisal Dapper (http://code.google.com/p/dapper-dot-net/). A Dapper je imho fakt cool riesenie. A na StackOverflow funguje dobre. Ak niekto ide na to stylom, "urob a odovzdaj", "a potom zober peniaze a rychlo zabudni" - dodal by som, tak to urcite poznaci sposob akym programuje, imho skor k zlemu. Ak vsak vies, ze dany produkt musis aj dalej vyvijat a supportovat dalsie roky, tak je situacia trochu ina. isty pragmatizmus je mozno fajn (najma pri deadlines), no obetovat kvalitu a pozerat sa na to "cisto prakticky" ci "cisto z ekonomickeho uhla pohladu" je imho zle. Asi tak. btw, dik, ze pises... ;) -- s.
Comment
anonymous-ThomAtmoppy
5/10/2017 12:43 AM
ThomAtmoppy
Sale Isotretinoin Prix Du Cytotec Au Maroc Forum Viagra Donne Cialis Diario Opinion Cephalexin Effects viagra Acquisto Senza Ricetta Medica Cialis Forum Propecia Pastiglie Levitra Somministrazione Levitra Sciogliere In Bocca
Add comment