Aktywne Wpisy
Piotropatra +28
Ku chwale zbanowanego @Graner
#listaobecnosci #listygranera #nocnazmiana 3:00:00 [*]
(╯︵╰,) (╯︵╰,) (╯︵╰,)
@wykop SHAME ON YOU!
#listaobecnosci #listygranera #nocnazmiana 3:00:00 [*]
(╯︵╰,) (╯︵╰,) (╯︵╰,)
@wykop SHAME ON YOU!
GamereQ +13
Bardzo proszę o ciepłe słowa.
Zawaliłem uczelnie, mam długi i jestem na najniższym punkcie życia, boję się jutro obudzić.
Jeśli ktoś z szerszą perspektywą może popisać byłbym wdzięczny.
Zawaliłem uczelnie, mam długi i jestem na najniższym punkcie życia, boję się jutro obudzić.
Jeśli ktoś z szerszą perspektywą może popisać byłbym wdzięczny.
moglby ktos rzucic okiem i ew podpowiedziec co poprawic?
dzieki :)
w komenatrzu kod
https://replit.com/@Benek87/zad-7-dom#main.cpp
using namespace std;
#include <string>
class zwierze {
public:
string imie;
string gatunek;
string glos;
string wiek;
zwierze(string x, string y, string g, string z) {
imie = x;
gatunek = y;
glos = g;
wiek = z;
}
void print()
{
cout << "Imie: \t" << imie << "\n" << "Gatunek: " << gatunek << "\n" << "Wiek: \t" << wiek<<"\n";
}
void zmienParametry(string noweimie, string nowygatunek,
Dobre. ( ͡° ͜ʖ ͡°)
Twój system/zbiór typów/klas nie stwarza warunków Poka-Yoke.
Kod niesformatowany. Do trzymania zmiennych w klasie lepiej użyć enskapsulacji (zrobić zmienne prywatne niedostępne z zewnątrz, a jedynie przez interfejs udostępniony w klasie, mówię o zmiennych typu imie, przy okazji zawsze używaj angielskich nazw)
Zmienne też powinny mieć odpowiedni typ, to że zmienna jest wpisana z konsoli jako cstring nie znaczy, że nie można jej zamienić na inny typ. Chodzi mi o wiek, który
1. no właśnie wiek na int muszę zmienić z powrotem, zmieniłem bo jak ktoś wpisywał litery to wywalało program xD (czyli int i jakas pętla sprawdzająca czy wpisana została liczba?)
2. no właśnie tez myślałem ze to za długie wyszło i zastanawiałem się jak zrobić żeby to trochę skroić :)
nie pisz tego (chyba ze naprawdę CI się nudzi) tylko daj znać czego szukać w necie (wirtualne funkcje?)
tresc zadania
@ulath: w sumie teraz się przyjrzałem i tam nie ma systemu klas, a jest jedna klasa :P
W każdym razie to jest edukacyjnie dobry kod do tego, aby pokazać, jakie problemy może rozwiązać programowanie obiektowe, bo ten kod jest antyprzykładem programowania obiektowego, ale można go poprowadzić/zmienić, aby stał się dobrym kodem obiektowym.
@patrolez: bardzo jestem ciekaw jakie problemy rzekomo rozwiązuje programowanie obiektowe. Zawsze widziałem tylko jak je stwarzało.
Programowanie obiektowe również bardzo mocno nawiązuje koncepcjami i abstrakcjami do naturalnych języków, co umożliwia w dość przystępny sposób przenosić pomysły osób niebędącymi
+ nowe G = super C".
UML okazał się porażką, której nikt nie używa, poza studentami do pisania zaliczeń.
Wzorce nie są rzeczą unikatową dla programowania obiektowego, znano je wcześniej i są powszechne we wszystkich paradygmatach. Pewne wzorce obiektowe są obejściami ułomności języków obiektowych takich jak Java - przykładowo (anty)wzorzec singleton (obejście na brak możliwości reprezentacji stanu globalnego) czy command (obejście na brak traktowania funkcji jak wartości).
Modelowanie kodu w
@patrolez: Zmiany wymagań są powszechne. Kod należy pisać tak aby łatwo było go zrozumieć i łatwo można było go zmienić. OOP to zwykle utrudnia, bo próbuje optymalizować nie to co trzeba - tzn. dąży do ułatwienia pisania nowego kodu kosztem utrudnienia zmian kodu istniejącego. Ale to ułatwienie pisania nowego kodu działa tylko jeśli dobrze przewidziano kierunek zmian, a to prawie nigdy się nie
@Krolik: gdybym miał pisać konkrety, to musiałbym napisać książkę, więc chciałem przedstawić esencję.
UML jako robótki ręczne owszem, ale nie jako koncepcja "do odczytu", gdzie np. narzędzia wizualizują ci kod, czy jako notacja pracy z whiteboardem w ramach brain-stormingu, którego oczywiście indywidualiści i ludzie praktykujący ROCKSTAR/HYPE DRIVEN DEVELOPMENT będą uważać jako proces
@patrolez: jeśli do czytania kodu potrzebne jest dobre IDE to znaczy że utrudniają, a IDE tylko próbuje ten problem z lepszym bądź gorszym skutkiem naprawi
Wiele razy brałem udział w dyskusjach dotyczących kodu i jedyna notacja jaka była powszechnie stosowana to prostokąty (ewentualnie owale), strzałki i tekst. Nie spotkałem nikogo kto by używał UML. Zresztą
tak się zastanawiam jeszcze a czy te zwierzęta (obiekty) robione creatorem można jakoś wrzucić w table i później np. sortować i wywoływać jakaś mala pętlą zamiast pisać osobno ify czy swiche dla kazdego z osobna?
czy najprościej zrobić jedna klase zwierzęta i później podklasy dziedziczne koty psy itp?