Wpis z mikrobloga

@ulath: A jaka jest treść tego zadania?

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,
  • Odpowiedz
@ulath: Popracuj nad formatowaniem, zwykle edytory mają funkcję automatycznego formatowania. Wyeliminuj duplikujący się kod poprzez użycie funkcji. Podziel kod na dużo mniejsze funkcje - to jest ok, nawet jeśli używasz funkcji tylko w jednym miejscu. Zamiast drabinki ifów "if(choice == "ssak").." możesz użyć mapy. Funkcja zmienParametry do wywalenia, nie wiem po co jej używasz, skoro i tak masz bezpośredni dostęp do zmiennych składowych klasy zwierze. Nie używaj nazw typu a,
  • Odpowiedz
  • 0
@Reretos:
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?)
  • Odpowiedz
nie stwarza warunków Poka-Yoke.


@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 - >nie stwarza warunków Poka-Yoke.

@ulath: w sumie teraz się przyjrzałem i ...

źródło: Picture1

Pobierz
patrolez - >nie stwarza warunków Poka-Yoke.

@ulath: w sumie teraz się przyjrzałem i ...
  • Odpowiedz
W każdym razie to jest edukacyjnie dobry kod do tego, aby pokazać, jakie problemy może rozwiązać programowanie obiektowe,


@patrolez: bardzo jestem ciekaw jakie problemy rzekomo rozwiązuje programowanie obiektowe. Zawsze widziałem tylko jak je stwarzało.
  • Odpowiedz
@Krolik: programowanie obiektowe jest oparte o mocny fundament wzorców i powszechnie rozumianych praktyk programistycznych, że ludzie mogą się wypowiadać w sposób lakoniczny w ramach pracy z kodem, a taki komunikat z dużym prawdopodobieństwem zostanie w niemalże jednoznaczny sposób zrozumiany przez niezależnych programistów, np. via nazwy wzorców lub via UML.

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
  • Odpowiedz
@Krolik: a to, że w pracy w takich obostrzeniach programowania obiektowego, koszt redesignu jest duży, to inna para kaloszy, w których albo zawalił architekt, albo po prostu nie było takiej możliwości, aby przewidzieć wystąpienie niejako zjawiska emergentnego w późniejszym czasie, w którym np. "prawie A + prawie B * 3
+ nowe G = super C".
  • Odpowiedz
@patrolez: Marketingowy bełkot. Dużo słów, mało konkretów.

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
  • Odpowiedz
Marketingowy bełkot. Dużo słów, mało konkretów.


@Krolik: gdybym miał pisać konkrety, to musiałbym napisać książkę, więc chciałem przedstawić esencję.

UML okazał się porażką, której nikt nie używa, poza studentami do pisania
  • Odpowiedz
Nie utrudniają, gdy ma się dobre IDE, a


@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

jako notacja pracy z whiteboardem w ramach brain-stormingu,


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.
  • Odpowiedz
  • 0
@ly000 @Reretos: dzięki Mireczki zacząłem pisać na nowo dziś w robocie ale dopiero zacząłem , już trochę lepiej i zaczynam cokolwiek rozumieć ;)
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
  • Odpowiedz
@ulath: Możesz się już zainteresować czym są słowniki w programowaniu. To takie struktury, które służą do szybkiego wyszukiwania obiektów. Szybszego niż wkładanie obiektów do tablicy i sortowanie jej. Takie struktury w C++ noszą nazwę set,unorderedset, map, unorderedmap. Wtedy po prostu przy tworzeniu obiektu wkładasz do takiej struktury, a w odpowiednim momencie wyciągasz z niej, jeśli klucz istnieje. Być może uda ci się to zaimplementować
  • Odpowiedz