W odcinku 2 nt. programowania obiektowego Mirosław Zelent robił quiz używając klas. W pliku .txt znajdowały się pytania ułożone w ten sposób: -------------------------------------------------------- 1 Kto wygral 49 Turniej Czterech Skoczni? Martin Schmitt Sven Hannawald Adam Malysz Janne Ahonen c <-------- poprawna odpowiedz -------------------------------------------------------
Ktoś zarzucił (w komentarzu), że program jest kiepsko napisany i wyjaśnił jak to powinno być zrobione (załączony .jpg) Wiele niestety nie zrozumiałem z tego co napisał, więc jeśli ktoś zna ten temat i umiałby to wytłumaczyć w prosty sposób byłbym wdzęczny
Niech klasa Question będzie encją:
znalazłem definicję encji, ale jest można definicja taka na chłopski rozum?
question->getAnswers()->getByKey(userchoice)->isGood; // method body
wrzucił method body, tylko nie wiem jak to rozczytać...
Cały program został zrobiony w jednej klasie nazwanej Pytanie, tutaj mam rozumieć, że powinno się użyć większej ilości klas? Program jaki zrobił Zelent mimo wszystko wydaje się dla mnie logiczny, chciałbym napisać to według przepisu jaki jest w tym komentarzu, ale nie wiem za bardzo jak się za to zabrać. Za jakąkolwiek podpowiedź czy pomoc byłbym wdzięczny.
@MajsterTS: to co w .jpg to zaimplementowanie zasad solid w kodzie. bardzo pomocne przy pisaniu kodu rozwijalbego. nie czytalem calego komentarza ale na to by wygladalo. niby zelenta wszyscy polecaja a pisze nazwy w kodzie po polsku:(((( czyzby drugi grebosz?
@MajsterTS: Powiem Ci tak. Nie wiem ja z C++, ale na przykładzie php czy tam html mogę powiedzieć, że pan Zelent i kod dobrej jakości to niestety dwa różne światy. Spagetti code, brak rozdzielenia chociażby na podstawowe warstwy danych/widok, i tak dalej. Więc pewnie tutaj nie jest wiele lepiej.
@MajsterTS: chodzi o to ze klasa nazwana Pytanie nie powinna robic rzeczy ktore moga byc zawarte w innej klasie. Tak to moglbys sobie napisac program w jednej klasie ktora robi wszystko, a tak raczej nie powinno wygladac programowanie obiektowe.
@przecineq: jakbyś miał czas rozkminiłbyś ze mną jak napisać taki program? Jakieś pojęcie o obiektówce masz, a chcę właśnie napisać to tak jak napisał Darknov, z robiciem na wiele klas.
W pliku .txt znajdowały się pytania ułożone w ten sposób:
--------------------------------------------------------
1 Kto wygral 49 Turniej Czterech Skoczni?
Martin Schmitt
Sven Hannawald
Adam Malysz
Janne Ahonen
c <-------- poprawna odpowiedz
-------------------------------------------------------
Tutaj jest code review:
https://forum.pasja-informatyki.pl/134131/cr-obiektowy-c-%232-struktura-projektu-obiektowego
Ktoś zarzucił (w komentarzu), że program jest kiepsko napisany i wyjaśnił jak to powinno być zrobione (załączony .jpg)
Wiele niestety nie zrozumiałem z tego co napisał, więc jeśli ktoś zna ten temat i umiałby to wytłumaczyć w prosty sposób byłbym wdzęczny
znalazłem definicję encji, ale jest można definicja taka na chłopski rozum?
w tym miejscu nie wiem za bardzo co mu chodzi :(
wrzucił method body, tylko nie wiem jak to rozczytać...
Cały program został zrobiony w jednej klasie nazwanej Pytanie, tutaj mam rozumieć, że powinno się użyć większej ilości klas?
Program jaki zrobił Zelent mimo wszystko wydaje się dla mnie logiczny, chciałbym napisać to według przepisu jaki jest w tym komentarzu, ale nie wiem za bardzo jak się za to zabrać. Za jakąkolwiek podpowiedź czy pomoc byłbym wdzięczny.
#naukaprogramowania #majsterprogramowanie
źródło: comment_Hb88DEuQNM9qp8oLh5ZsSoNk5gEiFopr.jpg
PobierzNie wiem ja z C++, ale na przykładzie php czy tam html mogę powiedzieć, że pan Zelent i kod dobrej jakości to niestety dwa różne światy.
Spagetti code, brak rozdzielenia chociażby na podstawowe warstwy danych/widok, i tak dalej.
Więc pewnie tutaj nie jest wiele lepiej.
Klasa pytanie ( po polsku nazwana, tak nie powinna być ) jest klasą boską, the good class.
Czyli robi wszystko.
A klasa pytanie powinna tylko mieć
@filip_k: Z C++ tak samo.