Cati programatori stiu sa programeze?
#20
Publicat: 03 iulie 2018 - 22:26
WinstonMontana, on 03 iulie 2018 - 21:50, said:
daca n-ar fi si buni degeava i-ar mai plati. Asta se vede si in genul de produse software care se fac pe la noi... UlrichVans, on 03 iulie 2018 - 22:08, said:
Nu cumva la aia ne-autodidacti sunt carentele? Shinji, on 03 iulie 2018 - 21:59, said:
Sunt si situatii in care timpul e critic, dar astea sunt mult mai rare decat par cand asculti managerii. In practica, timpul "economisit" scriind cod greu lizibil si fusarit e pierdut ulterior multiplicat de multe ori, ca sa nu mai vorbim de stress si nervii pierduti cand trebuie sa lucrezi cu codul aiurea. Si pana acum nu am vazut proiect care sa nu fie understaffed sau overcommited in Romania . Poate or exista, dar inca nu mi-a iesit in cale acest unicorn. P.S: ciudatenii in cod pot veni si de la coding standards impuse de client/echipa... Editat de StefanSC, 03 iulie 2018 - 22:29. |
#21
Publicat: 03 iulie 2018 - 22:35
Aceeasi intrebare o poti pune in orice domeniu de activitate ... doar pentru ca unii nu respecta niste reguli pe care le respecti tu (sau niste recomandari de bune practici din industrie) nu inseamna ca nu vor avea de lucru in industrie. Si la medici, profesori, vanzatori, muncitori, etc vor fi o gramada care nu respecta regulile de bune practici si vor lucra in continuare.
|
#22
Publicat: 03 iulie 2018 - 22:36
Quote P.S: ciudatenii in cod pot veni si de la coding standards impuse de client/echipa... if (!(n>0)) { *do stuff* } Deci nu vorbim de coding standards, pur si simplu de ce-i trece fiecaruia prin cap... |
#23
Publicat: 03 iulie 2018 - 22:42
de pe OCCC (Obfuscated C Code Contest) îti dau acest exemplu de cod perfect funcțional:
// "Saw that code days ago in a question here ,it prints the largest prime number" int m=1711276033,N=1,t[1<<25]={2},a,*p,i,e=39717691,s,c,U=1;g(d,h) {for(i=s;i<1<< 24;i*=2)d=d*1LL*d%m;for(p=t;p<t+N;p+=s)for(i=s,c=1;i;i--)a=p[s]* (h?c:1LL)%m,p[s] =(m*1U+*p-a)*(h?1LL:c)%m,*p= (a*1U+*p)%m,p++,c=c*1LL*d%m;}main(){while(e/=2){N*=2 ;U=U*1LL*(m+1)/2%m; for(s=N;s/=2;)g(40,0);for(p=t;p<t+N;p++)*p=*p*1LL**p%m*U%m; for(s=1; s<N;s*=2)g(983983719,1);for(a=0,p=t;p<t+N;)a+=*p<<(e&1),*p++=a%10,a/=10; }while(!*--p);for(t[0]--;p>=t;)putchar(48+*p--);} În mod evident tipul care l-a scris era un programator deștept. Dar, cine și-ar dori așa ceva în codul care tb menținut și dezvoltat în viitor în cadrul unei companii ? primul exemplu e la polul opus prin compilare oricum sînt intrucțiuni de tip JNE, BNE, DJNZ (deci N=not) și analoagele lor cu Equal deci nu prea contează că compari cu 1 sau cu 0. |
#25
Publicat: 03 iulie 2018 - 23:02
dani.user, on 03 iulie 2018 - 22:47, said:
Pana la urma, din atatea moduri de a scrie if castiga ... pattern maching. |
#27
Publicat: 03 iulie 2018 - 23:20
Eu am vazut prostii din astea in exceluri, niste formule parca facute de un incepator cu tutoriale de pe supportoffice ca sa faca ceva pentru care exista chiar functie simpla speciala in excel.
Si uite asa erau celule la care erau romane intregi de "formule" care se puteau rezolva din cateva randuri. Editat de lexis1, 03 iulie 2018 - 23:20. |
#28
Publicat: 03 iulie 2018 - 23:20
dani.user, on 03 iulie 2018 - 23:18, said:
Cand esti meserias, scii cod suficient de de elegant mai repede decat scrie unul mai putin priceput cod de proasta calitate. Editat de utopium, 03 iulie 2018 - 23:25. |
|
#30
Publicat: 03 iulie 2018 - 23:35
Daca vrei e ca la masini, cea mai buna masina nu exista, e definita de nevoie/scop. Daca vrei o masina de familie, un Ferrari e bun de aruncat la gunoi.
In functie de ce vrei de la ea, oricare dintre un Ferrari 488 Spider, Dacia Duster 4x4, Skoda Octavia, Smart poate fi cea mai buna pentru tine, desi sunt masini foarte diferite. |
#31
Publicat: 03 iulie 2018 - 23:41
Shinji, on 03 iulie 2018 - 22:36, said:
Mda, e trist cand se intampla asa. Dar nu e cazul aici. Ca tot veni vorba ca nu e bine sa incepi conditia cu o negatie, uite alt exemplu de cod din aplicatie: if (!(n>0)) { *do stuff* } Deci nu vorbim de coding standards, pur si simplu de ce-i trece fiecaruia prin cap... if ( n <= 0 ) { }Pe ramura IF spui ce faci si nu ce nu faci Cand dai indicatii cuiva spui pe unde sa mearga si nu pe unde sa nu mearga Cand mergi undeva doreste sa afli cum sa ajungi si nu cum sa nu ajungi Din punct de vedere al design-ului intotdeauna ramura IF trebuie sa fie ramura lui " ce trebuie sa fac" si nu lui "ce nu trebuie sa fac" La fel si la scripturile SQL in join-uri pui ce trebuie sa lege si nu ce trebuie sa nu lege. Quote
Deci nu vorbim de coding standards, Editat de WinstonMontana, 03 iulie 2018 - 23:49. |
#34
Publicat: 04 iulie 2018 - 07:18
Shinji, on 03 iulie 2018 - 22:36, said:
Mda, e trist cand se intampla asa. Dar nu e cazul aici. Ca tot veni vorba ca nu e bine sa incepi conditia cu o negatie, uite alt exemplu de cod din aplicatie: if (!(n>0)) { *do stuff* } Deci nu vorbim de coding standards, pur si simplu de ce-i trece fiecaruia prin cap... utopium, on 03 iulie 2018 - 23:02, said:
De obicei castiga cel care furnizeaza cel mai rapid un cod functional. Ca daca faci cod elegant la cost dublu si de 2 ori mai incet, s-ar putea clientul sa piarda multe oportunitati intre timp. |
#35
Publicat: 04 iulie 2018 - 07:20
Shinji, on 03 iulie 2018 - 20:48, said:
Cati programatori stiu sa programeze? Am vazut ambele extreme care sustin teoria asta: arhitecti, CTOs, cum vrei tu sa ii numesti, care scriau destul de mult cod, si nu stiau lucruri importante dar elementare, si studenti care nici nu si-au terminat facultatea, si aveau o gramada de cunostinte. Nu te mai uita la oameni in numar de ani, sunt chiar fix pix. Acestea fiind spuse, nu am vazut programatori cu peste 5 ani experienta (care nu au schimbat cariera) care nu produceau plus-valoare. Chiar daca nu stiau acele lucruri elementare, stiau alte lucruri. Daca totusi vei intalni astfel de medii/companii care mentin pe pozitii astfel de oameni, atunci iti recomand sa pleci din acel mediu nociv cat mai rapid. |
#36
Publicat: 04 iulie 2018 - 07:21
WinstonMontana, on 03 iulie 2018 - 23:41, said: if ( n <= 0 ) { }Pe ramura IF spui ce faci si nu ce nu faci Cand dai indicatii cuiva spui pe unde sa mearga si nu pe unde sa nu mearga Cand mergi undeva doreste sa afli cum sa ajungi si nu cum sa nu ajungi Din punct de vedere al design-ului intotdeauna ramura IF trebuie sa fie ramura lui " ce trebuie sa fac" si nu lui "ce nu trebuie sa fac" La fel si la scripturile SQL in join-uri pui ce trebuie sa lege si nu ce trebuie sa nu lege. |
Anunturi
▶ Utilizatori activi: 1
0 membri, 1 vizitatori, 0 utilizatori anonimi