Temat: OOP - Tworzenie nowych obiektów wewnątrz klasy i memory leak
@Jakub
To nie ma byc usczypliwe oczywiscie. Wypowiedz, ktora slysze dosc czesto, wynikajaca z braku doswiadczenia z OOP - jest dokladnie przeciwnie, tyle ze jak z jezdzeniem rowerem, na poczatku jest trudniej gdzies dotrzec, zamiast latwiej, a po jakims czasie "patcz toto, jade bez czymanki!".
Nie martw sie jednak bo bardzo czesto programisci wymieniaja plusy OOP jako jego minusy (e.g. ciezko utrzymac) Przypomina mi troche rant z linuxa przez kogos, kto go nie rozumie/nie uzywal. Nie jestes wiec odosobniony w swoim cierpieniu.
Twoj przyklad kodu pokazuje, ze chyba tez nie do konca rozumiesz co to OOP, bo costam widze macie, caly problem polega jednak na tym, ze nie rozumiecie co wiec robi sie "randomowo", raz wyjdzie, raz nie. Pamitaj ze uzycie "new" nie robi z kodu obiektowego, a zrozumienie jakie techniki zastosowac, aby zmniejszyc jego koszt do minimum.
Imho idziesz w odwrotnym kieryunku do tego dobrego, w tym zlym znaczy sie. Roznica polega na tym, ze taki kod ciezko / nie da sie testowac. Patrzac po profilu, jestes kierownikiem IT, wiec pewnie masz pare osob, ktore zamiast tworzyc kod, ktory pisze sie raz, ma fun w testowaniu regresyjnym "manualnie" i popularnym "przeklikiwaniu sie".
Wyobraz sobie, ze zamist przy kazdym projekcie tworzyc element ktory sluzy do logowania, includujesz wlasna, przetestowana biblioteke (nie mylic z kopiujesz i hackujesz), czytasz wlasna dokumentacje, aby przypomniec sobie jak sie tego uzywalo i masz cos w 10 minut zamiast tydzien.
Niestety przy takim modelu (a ma go bardzo duzo firm w PL niestety, w UK tez z reszta) ciezko zauwazyc jest ze droga programu jest "f£$%^ up driven development" wiec od buga do buga - bo przeciez "tak sie u nas w firmie robi".
Do tego dochodzi, ze nikt nigdy nie wie dlaczego kod jest lepszy niz inny (OOP niz "random engineering") z powodu:
- nikt tego nie mierzy, aby cos wiedziec, trzeba zmierzyc co sie dzieje gdy...
- malo kto porownuje wykorzystanie, nie ma niczego co jest bezwzglednie dobre/zle, a jedynie rzeczy, ktore sa lepsze i gorsze w konkretnym przypadku.
Uwierz, nikt nie zaczal od OOP/OOD bo to nie sa trywialne koncepty do zrozumienia, wymagajace lat. Jednak jak mozna sie domyslic, kazdy kiedys byl tam gdzie ty... i nie bez powodu nie jest, moze wiec jednak cos w tym jest?
A jesli chodzi o zmiany, to "no shit dude"... :) jedyna firma na swiecie, ktora ma zmiany w trakcie trwania projektu ;-) Ja pisze gry, ktorych glownym zalozeniem jest "ma byc fun", myslisz ze fun sa sie zaplanowac w dokumentacji projektowej?
Piotr Jasiulewicz edytował(a) ten post dnia 01.10.12 o godzinie 13:42