Corporatiile si pretul liniei de cod pe secunda
#1
Posted 03 May 2019 - 20:10
Sa dai bani pe un plugin a carei functionalitate o gasesti gratis in orice IDE care se respecta, este deja de matrix. De aceea InteliJ cere bani pe mediul C++, pt chestii din astea
pe care alte limbaje le au de la inceputul inceputurilor. Care este scurtatura in Visual Studio 2017 prin care daca scriu denumirea unui obiect automat imi face importurile la fisierele header si ale dependintelor (daca exista) ? MarianG, on 03 mai 2019 - 20:42, said:
Va mai intreb odata. Cine este programator, voi sau IDE-ul ? IDE-ul pt productivitatea unui programator are acelasi rol precum instrumentele de bord ale unui avion pt un programator. Quote
o fi utila pentru kinderii care abia se leaga la sireturi Unealta = productivitate, unealta deficitara = productivitate deficitara= crestere costuri =pierdere bani Tare as vrea sa te vad lucrand la un proiect in Spring framework sau orice alt framework , unde folosesti dependency injection via annotari , si sa le importi tu asa manual de manuta pe toate. Cred ca iti trebuie task separat doar pt acest lucru. Quote
P.S. Parca vorbeam de constructori, nu de IDE-uri care la sfarsit de zi sunt o unealta. Edited by MarianG, 04 May 2019 - 19:20. |
#2
Posted 03 May 2019 - 20:57
desigur, intr-un shortcut, in asta puterea unei unelte.
la cat laudati IDE-ul si criticati compilatorul eu am mari indoieli. Quote IDE-ul pt productivitatea unui programator are acelasi rol precum instrumentele de bord ale unui avion pt un programator. Edited by MarianG, 03 May 2019 - 21:00. |
#3
Posted 03 May 2019 - 21:08
Iulius-Foyas, on 03 mai 2019 - 20:52, said:
Noi dar daca trebuie sa stai sa inspectezi minutios fiecare actiune a IDE-ului deja productivitatea a zburat pe fereastra. IDE-ul pt productivitatea unui programator are acelasi rol precum instrumentele de bord ale unui avion pt un programator. Cred că ai dorit să zici pilot? Și chiar și așa comparația mi se pare nefastă. Instrumentele de bord îi arată pilotului starea avionul, tot pilotul e cel care trebuie să decidă dacă ce arată instrumentele alea e de bine sau de rău, si dacă e de rău pilotul e cel care trebuie să decidă ce trebuie făcut pentru a înbunătății situația. Ai auzit de cele două avioane care s-ar fi prăbușit pentru că instrumentele de bord au luat-o razna si nu au mai ascultat de pilot? |
#4
Posted 03 May 2019 - 21:20
Acel shortcuturi care importa zeci de linii de cod ce constau in pachete inseamna productivitate, altfel pur si simplu ai obosi facand manual acest lucru, caz in care trebuie sa te lupti si cu oboseala cumulata din sarcini triviale de scrie importurile manual, si de a rezolva problemele.
Nici un project manager n-ar accepta asa ceva.Lipsa unei astfel de feature distruge ergonomia software. Ca sa am productivitate, intai trebuie sa am asigurata ergonomia software, iar asta se realizeaza in primul rand prin uneletele folosite, sau mai in gluma, mai in serios circula o vorba : Productivitatea unui programator este rezultanta uneltelor folosite. Ar fi hilar sa ma gandesc de pilda la un proiect enterprise ca mavenul s-ar putea sa ma induca in eroare cu dependintele din pom.xml-ul proiectului. Tu ai idee cam cat de mare poate ajunge uneori acel pom.xml ? Ar fi dezastru daca as pune sub semnul intrebari ca maven-ul (care este un tool de productivitate) nu mi-ar construi corect buildul sau m-ar induce in eroare. tavitu, on 03 mai 2019 - 21:08, said:
Cred că ai dorit să zici pilot? Și chiar și așa comparația mi se pare nefastă. Instrumentele de bord îi arată pilotului starea avionul, tot pilotul e cel care trebuie să decidă dacă ce arată instrumentele alea e de bine sau de rău, si dacă e de rău pilotul e cel care trebuie să decidă ce trebuie făcut pentru a înbunătății situația. Ai auzit de cele două avioane care s-ar fi prăbușit pentru că instrumentele de bord au luat-o razna si nu au mai ascultat de pilot? un sistem prea complicat pt om, iar ceea ce observa pilotul si poate percepe se rezuma la 30% fata de toate datele pe care le culege avionica atunci cand pilotul automat ia o decizie. Pilotii sunt invatati sa aiba intotdeauna incredere in instrumentele de bord, doarece 90% din accidente s-au datorat neincrederii pilotului in instrumentele de bord si asta din cauza http://avstop.com/st...orientation.htm Edited by Iulius-Foyas, 03 May 2019 - 21:21. |
#5
Posted 03 May 2019 - 22:12
Iulius-Foyas, on 03 mai 2019 - 21:20, said:
doarece 90% din accidente s-au datorat neincrederii pilotului in instrumentele de bord si asta din cauza Doar vreo 50% din accident au fost cauzate de erori de pilotaj si alea includ o mare plaja de motive, de la oboseala, pina la cretinatate, gen l-o lasat pe fiu-so sa piloteze. Neincrederea in instrumente practic n-are nici o treaba printre toate alea, dimpotriva, asta daca te uitai la nenumarate episoade Air Crash Investigation pe National Geographic. Problema este cind un senzor da gherla sau ceva programator nu si-o validat bine obiectele Mai mult, C++ nu e Java, nu exista nici un motiv sa te astepti la "importuri automate", pentru ca nu e nimic de importat. Include nu e import. Liburile nu-s jaruri. Nu mai vorbim de macro-uri, namespace-uri, forward declarations sau dll-uri, compilare statica sau dinamica, fiecare necesitind alte rahaturi... |
#6
Posted 03 May 2019 - 22:27
MarianG, on 03 mai 2019 - 20:57, said:
nu stiu exact unde bati, dar avioanele au pilot automat Mi-a luat-o tavitu@ de la fileu Avand in vedere incidentul aviatic nu trebuie absolutizat acest domeniu, greseala este comuna si in informatica chiar daca prin zona vad numai experti Cauza reala a incidentului este acesta,s-a pus intreabarea la dep IT: Este posibil ca puterea motoarelor poate fi controlata de soft in anumite momente critice fara a fi inclus in modulul pilotului automat? Raspunsul a fost afirmativ. Edited by iulian_1976, 03 May 2019 - 22:35. |
#7
Posted 03 May 2019 - 22:46
Quote
Ei bine kinderii aia dar si cei care au proiectat acest feature o fac dintr-un singura cauza: productivitatea unde timpul inseamna bani. Edited by parabellum, 03 May 2019 - 22:47. |
#8
Posted 04 May 2019 - 00:23
Depinde de proiect, poate tu faci fie proiecte mici fie lucrezi pe un proiect unde productivitatea si eficienta timpului nu sunt criterii de evaluare sau autoevaluare si nimeni nu raspunde
de banii consumati in plus, adica mediu bugetar, eu insa lucrez in mediu private corporate, iar aici la proiectele enterprise lucrurile sunt diferite la mine fata de tine. Tu iti dai seama ca eu , cu acea scurtatura fac in cateva secunde cea ce in mod normal, ti-ar lua manual un task intreg ? In softurile de productie acolo unde se fac bani si optimizare a muncii de cateva ore inseamna economie de cheltuieli,doarece mediul corporate este extrem de atent cum se consuma banii. Si au managerii tooluri care evalueaza productivitatea fiecarui angajat zilnic pe ore.Practic sunt niste politzai care urmaresc zilnic progresul si iti atrag atentia daca incepi sa aduni intarziere pe task. Poate tu te referi la programare, acolo unde productivitatea nu reprezinta o cerinta sau nici macar nu se ia in calcul, cum ar fi mediul bugetar, acolo unde nu prea sunt obsedati de productivitate, sau in mediul academic/cercetare/educatie unde banii sunt platiti de catre stat si stim cu totii ca in astfel de medii avem trei cutume: timpul trece, leafa merge, "hartia" suporta orice si "nimeni nu este de vina". Poate pentru tine daca intarzii la un task o ora fata de estimat nu inseamna mare lucru, insa pt mine insemana pt ca acea ora trebuie s-o recuperez in weekend, doarece munca noastra este normata. Edited by Iulius-Foyas, 04 May 2019 - 00:21. |
#9
Posted 04 May 2019 - 08:55
Quote
iar aici la proiectele enterprise lucrurile sunt diferite la mine fata de tine Dar ai dreptate, programarea in cazul meu e diferita de programarea 'corporate' unde 90% din cod e inutil, 5% sunt buguri (evitate cat de cat cu exceptii si cod suplimentar aiurea), 4% sunt 'include'-uri iar 1% e functionalitatea, care e o banalitate. In cazul meu productivitatea nu se masoara in cantitate de cod. Nici in clase de tipul AbstractProblemFactoryFactoryWithConstructorThatDoesntTakeMuchTimeComparedWithJVM implements Bullshit.. Edited by parabellum, 04 May 2019 - 08:56. |
#10
Posted 04 May 2019 - 18:51
parabellum, on 04 mai 2019 - 08:55, said:
Ai o singura problema aici: presupui prostii cu privire la persoana mea. Dar ai dreptate, programarea in cazul meu e diferita de programarea 'corporate' unde 90% din cod e inutil, 5% sunt buguri (evitate cat de cat cu exceptii si cod suplimentar aiurea), 4% sunt 'include'-uri iar 1% e functionalitatea, care e o banalitate. Yeah, right! |
|
#11
Posted 04 May 2019 - 18:58
DemocracySucks, on 04 mai 2019 - 18:51, said:
Deci corporatiile sunt niste entitati naive care risipesc banii pe "cod inutil si buguri". Iar codul util si fara buguri, te pomenesti ca se gaseste in mediul academic si in ... blogosfera. Yeah, right! Deci da, "un blogger" care scrie cod de nebun poate scrie cod mult mai provocator dpv intelectual ca majoritatea companiilor. |
#12
Posted 04 May 2019 - 19:08
OriginalCopy, on 04 mai 2019 - 18:58, said:
Corporatiile produc cod pentru bani, nu pentru a rezolva probleme complicate. Uneori, unele companii se iau la tranta cu probleme complicate care si produc bani, dar numarul acestor companii e destul de redus (procentual vorbind), mai ales in Romania. Deci da, "un blogger" care scrie cod de nebun poate scrie cod mult mai provocator dpv intelectual ca majoritatea companiilor. Codul "provocator dpdv intelectual" nu poate avea vreo calitate in sine, atata timp cat softul produs de cod nu ofera niste beficii tangibile! Abia ceea ce fac bloggerii poate fi catalogat ca inutil in vasta majoritate a cazurilor! Edited by DemocracySucks, 04 May 2019 - 19:09. |
#13
Posted 04 May 2019 - 20:27
Iulius-Foyas, on 03 mai 2019 - 20:10, said:
Sa dai bani pe un plugin a carei functionalitate o gasesti gratis in orice IDE care se respecta, este deja de matrix. De aceea InteliJ cere bani pe mediul C++, pt chestii din astea pe care alte limbaje le au de la inceputul inceputurilor. Cat despre productivitate, exista in unele medii ideea asta stupida cum ca ea se refera la linii de cod scrise (per minut, ora, whatever). Sa le zic medii academice si ferme de negrisori? Ce se intampla daca nu-ti indeplinesti norma de linii de cod? Penalizari, bataie cu rigla la palma, pus in colt pe coji de nuc? Dificultatea unui task nu se masoara in linii de cod. Scopul tau ca programator nu este sa scrii multe linii de cod, ci sa rezolvi o problema anume. Viteza devenita scop primar inseamna o calitate slaba a codului. Un mediu represiv scade productivitatea reala si-ti alunga programatorii de la mediocri in sus (care-si pot, si-si vor gasi un alt job) Pentru cei ce nu stiu: [ https://www.youtube-nocookie.com/embed/M8qkL_7Lbyw?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] |
#14
Posted 04 May 2019 - 20:46
TS030, on 04 mai 2019 - 20:27, said:
Cat despre productivitate, exista in unele medii ideea asta stupida cum ca ea se refera la linii de cod scrise (per minut, ora, whatever). Sa le zic medii academice si ferme de negrisori? Ce se intampla daca nu-ti indeplinesti norma de linii de cod? Penalizari, bataie cu rigla la palma, pus in colt pe coji de nuc? Excluzand situatiile in care am fost platit sa sterg cod, o data am fost platit destul de consistent de o firma ca sa schimb un singur caracter. Era intr-un sistem complex prin care treceau "toti banii firmei". Si da, nu stia nimeni ca va fi un singur caracter, si chiar daca ar fi stiut, nu stia nimeni care va fi acela. Cum e sa fii platit o suma de 4 cifre ca sa schimbi un singur caracter? Cred ca nu mi-am indeplinit norma de LOCs Sunt de acord cu tine, novicii nu stiu d-astea. Ca sa raspund subiectului topicului Quote Corporatiile si pretul liniei de cod pe secunda Oricum ai da-o, subiect tembel. Inclusiv daca am vorbi in termeni de complexitate ciclomatica sau alta masuratoare mai buna, si nu LOCs. Edited by OriginalCopy, 04 May 2019 - 20:52. |
#15
Posted 04 May 2019 - 21:28
Iulius-Foyas, on 03 mai 2019 - 20:10, said:
Right, raspunsul in opinia mea este ca daca obiectul trebuie sa fie disponibil imediat in cel mai scurt timp posibil. Daca dureaza in cazul de fata o jumate de ora atunci trebuie modificat business logicul astfel incat,. fie obiectul in cauza sa fie spart in mai multe obiecte sau regandita sectiunea care dureaza o jumate de ora procesarea. Ceea ce conteaza e cat de scurta e bucla de dezvoltare, aia din ciclul TDD cel mai scurt. O firma se minuna cum de am reusit sa fac in cateva luni singur ceea ce face o intreaga echipa in ani. Pai simplu: taie din bucla aia de dezvoltare pana cand e mai mica de 10 secunde. Scrie codul direct in cloud, si nu o mai arde cu tot felul de prostii. Asa: [ https://st4.depositphotos.com/1005097/20821/i/1600/depositphotos_208210854-stock-photo-cloud-computing-illustration-binary-code.jpg - Pentru incarcare in pagina (embed) Click aici ] Fara IDE. Fara fluff. Muta muntii din loc daca e nevoie ca sa scurtezi acea bucla. Investeste o saptamana in optimizarea procesului de dezvoltare insusi. Asta inseamna productivitate. A da, IDE, desigur, dar degeaba IDE, daca nu ai "superpowers" si fara el. |
|
#16
Posted 04 May 2019 - 21:56
#17
Posted 04 May 2019 - 22:24
#18
Posted 04 May 2019 - 22:36
Discutia este inutila, pentru simplul fapt ca nici o "corporatie" nu masoara productivitatea in linii de cod. Este doar o metrica printre multe altele si un indicator destul de bun pentru complexitatea unui proiect si cantitatea de cacat pe care o poti intilni in el, datorata vechimii proiecctului si zecilor sau poate sutelor de oameni care si-au bagat botul. Chiar daca exageram si spunem ca 90% din codul unui proiect de 1 milion de linii e complet debil, tot mai ramin 100k de linii.
Proiectul la care lucrez are tone de cod duplicat, practic i-a durut la banana pe aia care au lucrat la el despre chestia asta, pentru ca au fost presati de adevaratul indicator al productivitatii pentru firme: cit de repede faci un feature sau repari un bug. Si toate alea se acumuleaza si se acumuleaza si se mai acumuleaza pina cind face implozie si atunci se escaleaza pina la dumnezo, se face un pas inapoi si se decide: ori se omoara proiectul, ori se incearca o resuscitare, de data asta cu mai multa atentie pentru chestii de genul calitate. Unul din proiectele la care am lucrat a fost rescris de la zero dupa vreo 2 ani, pentru ca s-a ajuns la concluzia ca nu se ajunge nicaieri Am vazut chestia asta de citeva ori pina acuma, la proiecte de zeci si sute de meleoane, nu prostioare. Si nu exista solutii miraculoase in multe cazuri, de exemplu corporatia fabuloasa la care lucrez nu permite folosirea AWS din ratiuni de securitate. Exista ceva cloud intern de trei parale, mai bine iti pui un pentium 4 sub birou si lucrezi pe el. De fapt de cind m-am angajat am zis ca trebuie sa avem un server local de development pentru ca aplicatia e "chatty as fuck" si au zis "hai sa incercam prima data cu cloudu". Dupa citeva luni in care au dat vreo 800 de euro pe luna pe cloudu lu peste s-au lasat convinsi. MarianG, on 04 mai 2019 - 21:56, said:
Omul zice ca apasa doua-trei butonane si compania castiga (sau nu pierde) bani deoarece se scrie software-ul singur. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users