Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Routere detinute in trecut si in ...

Teii din fața casei

E-Mail in serie prin Excel si Out...

Modul alimentare rulou/jaluzea ex...
 Recuperare fișiere dupa form...

Aplicatii stress test RAM

Asigurare auto hibrid

Asus B550M - PC-ul nu porneste di...
 Tzanca Uraganu - Inconjurat de Fe...

explicatie montaj breadboard

3 Doors Down - Kryptonite

Semnalizati cand virati pe un dru...
 Succesiune - mostenire apartament...

Donez Siofor de 1000mg ( diabet t...

Izolatie intre parter si etaj

Hranirea pasarilor din orase -pro...
 

Muncă multă în constructor - da sau ba?

* * * - - 2 votes
  • Please log in to reply
98 replies to this topic

#91
DemocracySucks

DemocracySucks

    Junior Member

  • Grup: Members
  • Posts: 227
  • Înscris: 06.04.2019

View PostOriginalCopy, on 03 mai 2019 - 18:06, said:

la o bere, si iti va desena ca la destepti, ca el a inteles despre ce vorbim. Tu tot bati campii.
N-a inteles. Campii ii bati tu.

Este nerealist sa zici ca poti construi aplicatii complexe si poti avea in acelasi timp obiecte aspura carora orice metode publice vei aplica, in orice ordine, vor fi mereu apeluri valide.

View PostOriginalCopy, on 03 mai 2019 - 18:06, said:

De fapt, nici "constructor" nu e corect, dar noi tot asa ii zicem si tot la acelasi lucru ne referim, si culmea, ne intelegem unii cu altii. "
Normal ca va intelegeti. :)

View PostOriginalCopy, on 03 mai 2019 - 18:06, said:

"Constructorul" nu construieste nimic, obiectul e deja construit.
Un nume mai bun ar fi "Initializator" sau ceva de genul.
Daca toate metodele publice ale unei clase(respectiv obiect) trebuie sa poata fi apelate in oricare ordine, atunci in majoritatea cazurilor constructorul trebuie sa faca treaba de initializare(sau in unele limbaje, blocuri de initializare). Ceea ce conteaza in final e ca nu e realist sa ai pretentia de avea metode publice apelabile in orice ordine. Din xyz motive, in general din cauza complexitatii obiectelor si a initializarii acestora - iar incercarile de a merge in acea directie doar va duce la probleme(fix ca alea cand se chinuie unii sa faca optimizare in avans)

View PostIulius-Foyas, on 03 mai 2019 - 18:12, said:

Problema este ca in acest caz ma lovesc de o alta cutuma in OOP:  getter and setter methods are "evil"
Nu e o cutuma OOP, ideea ca setterii sunt rai e din programarea functionala, aia sunt obsedati in mod nejustificat si nerealist cu imutabilitatea(isi are rostul ei, dar daca generalizezi, ajungi rau - pana la urma cam tot ce e util e mutabil, doar anumite clase se preteaza la imutabilitate, cele value based - adica rolul lor e de pastra niste valori fara mecanisme suplimentare in afara de getteri/setteri is poate niste metode specifice mediului respectiv)

#92
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostDemocracySucks, on 03 mai 2019 - 18:19, said:

Este nerealist sa zici ca poti construi aplicatii complexe si poti avea in acelasi timp obiecte aspura carora orice metode publice vei aplica, in orice ordine, vor fi mereu apeluri valide.
Ok, ceea ce voiam sa spun e ca invariantele sunt mereu mentinute, ca informatia de care are nevoie orice metoda poate fi reconstruita.

Tu nu intelegi ca eu stiu exact de unde vine @OP si ce are in minte, pentru ca l-am ghidat in acest proiect: Baze de date embedded – exercitiu practic (pentru programatori mid-level)

Felul in care vorbesc si ce zic e pentru el, si stiu ca ma intelege. Eu practic vorbesc cu el, tu mai mult te bagi ca musca-n lapte. Daca vrei sa intelegi, citesti cele 11 pagini din acel topic si istoria git ca sa intelegi.

#93
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,295
  • Înscris: 21.04.2004

View Postdani.user, on 03 mai 2019 - 17:58, said:

Despre ce vorbim?

Attachment a.gif
Nice video. Acuma incearca cu Visual Studio 2017 si vezi ce iti pune cind dai enter (capacity fara paranteze) si ce iti arata cind faci hover pe capacity (nimic). Faptul ca lu Microshit i-a luat vreo 25 de ani sa faca un autocomplete cit de cit nu inseamna decit ca le-a luat vreo 25 de ani sa faca un autocomplete cit de cit Posted Image

#94
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostDemocracySucks, on 03 mai 2019 - 18:23, said:

Nu e o cutuma OOP, ideea ca setterii sunt rai e din programarea functionala, aia sunt obsedati in mod nejustificat si nerealist cu imutabilitatea

View PostOriginalCopy, on 29 decembrie 2018 - 23:56, said:

A nu avea setteri nu inseamna a nu schimba valori. Setter = metoda de o linie care accepta un parametru si seteaza o proprietate a obiectului.
Cu fiecare astfel de setter creste exponential modul in care un sistem poate fi modificat. Iar asta e greu de debugguit.
Cand jumatate din cod e setter, e nasol.
JPA si alte asemenea nu se pun, alea le izolezi in pluginul de storage si aia e, devine un detaliu nesemnificativ ascuns sub pres.

Ceea ce vrei sa ai sunt metode care fac lucruri utile pentru business, pe langa faptul ca seteaza niste valori.
Setterii inseamna ca un obiect poate fi pus usor intr-un state invalid. Cine a scris proiecte care nu sunt de jucarie stie de buguri cauzate de "am uitat sa apelez un setter" sau "am apelat metodele in ordinea gresita".
O arhitectura curata te forteaza sa operezi corect cu codul deja existent, atunci cand scrii cod nou. Setterii te trag in jos in atingerea acestui scop.

Setterii sunt ok cand ai dependinte circulare intre obiecte. Situatii d-astea nu prea intalnesti in cod, daca ai un setter la 10k linii de cod e bine.

Edited by OriginalCopy, 03 May 2019 - 18:29.


#95
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,189
  • Înscris: 24.02.2007

View PostMosotti, on 03 mai 2019 - 18:26, said:


Nice video. Acuma incearca cu Visual Studio 2017 si vezi ce iti pune cind dai enter (capacity fara paranteze) si ce iti arata cind faci hover pe capacity (nimic). Faptul ca lu Microshit i-a luat vreo 25 de ani sa faca un autocomplete cit de cit nu inseamna decit ca le-a luat vreo 25 de ani sa faca un autocomplete cit de cit Posted Image

Video-ul e cu VS 2017, asistat de ReSharper.

Edited by dani.user, 03 May 2019 - 18:45.


#96
red46

red46

    Senior Member

  • Grup: Senior Members
  • Posts: 4,528
  • Înscris: 06.03.2016

View Postdani.user, on 03 mai 2019 - 18:43, said:

Video-ul e cu VS 2017, asistat de ReSharper.
Asta? https://www.jetbrain.../resharper-cpp/

Oricum, asta ar fi cea mai mică problemă pe care o are IntelliSense. A menționat cineva mai sus problema cu linii aleatorii subliniate în roșu, "erori" inexistente etc. Se rezolvă de obicei cu o recompilare a proiectului, însă nu mereu funcționează.

Edited by red46, 03 May 2019 - 18:59.


#97
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,189
  • Înscris: 24.02.2007

View Postred46, on 03 mai 2019 - 18:54, said:


Da

#98
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,295
  • Înscris: 21.04.2004

View Postdani.user, on 03 mai 2019 - 18:43, said:



Video-ul e cu VS 2017, asistat de ReSharper.
Cheater :)

#99
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,189
  • Înscris: 24.02.2007
Posted Image

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate