CodersCommunity / CodeReview-CPP-Obiektowy

CR Kursu Obiektowego C++ Mirosława Zelenta

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#Code Review - Obiektowy C++

Kod jest podzielony na 2 branche:

  1. master - zawierający oryginalny kod
  2. refactor - zawierający kod po poprawkach

Poszczególne odcinki są do podzielone na foldery, wg konwencji: odc-XX, gdzie XX to nr odcinka.

Do aplikacji okienkowych użyłem biblioteki Qt, która moim zdaniem nadaje się lepiej do demonstacji obiektowego C++ i pisania aplikacji okienkowych.

Zapraszam do pull request'ów z wlasnymi propozycjami (np na nowych branchach lub w przypadku bledu z mojej strony dorzucania poprawek na refactor).

Spis treści

  1. odc 1 - Podejście obiektowe. Klasy. Obiekty
  2. odc 2 - Struktura projektu obiektowego
  3. odc 3 - Konstruktory. Destruktory. Dostęp: public, private, protected
  4. odc 4 - Funkcje zaprzyjaźnione
  5. odc 5 - Dziedziczenie. Klasy pochodne
  6. odc 6 - Funkcje wirtualne. Polimorfizm
  7. odc 7 - Instalacja Buildera. Okienkowy Hello World
  8. odc 8 - Własny Notatnik w Builderze
  9. odc 9 - Tic-tac-toe - gra w kółko i krzyżyk
  10. odc 10 - Timery. Własny zegar. Gra Arkanoid
  11. odc 11 - Dźwięk w programie. Gra w pamięć

Uwagi ogolne

Odcinki 1-6

Ogolnie nie jest zle, jednakze notorycznie powtarzaja sie globalne uzycia using namespace co w przypadku wiekszych projektow jest zla praktyka.

Oprocz tego kod lubi byc malo czytelny poprzez np brak odstepow pomiedzy operatorami albo ich nadmierne uzycie.

Nie liczac tych drobnych potkniec potrafia sie znalezc rzeczy typu przkombinowanie rozwiazania lub niestosowanie sie do oglnie przyjetych konwencji.

Odcinki 7-8

Implementacje do tych odcinkow zostaly zrealizowane w bibliotece Qt, goraco zachecam do przeczytania wpisu: Dlaczego Qt, a nie Builder.

...TODO...

Odcinki 9-11

Implementacje do tych odcinkow zostaly zrealizowane w bibliotece SFML, goraco zachecam do przeczytania wpisu: Dlaczego SFML, a nie Builder.

...TODO...

Literatura warta uwagi

Na tym etapie nauki warto miec za soba lekture:

  1. C++ Best Practices
  2. Czysty Kod
  3. Dowolny Style Guide, np. Google C++ Style Guide

Dziennik zmian

  1. 21.02.2017 - (shead) Wrzucam poprawiony kod do odcinkow 1-6, jezeli ktos ma dodatkowe uwagi do tych zmian to oczywiscie smialo ;)
  2. 25.02.2017 - (shead) Odcinki 7, 8; artykul wyjasniajacy wybor innych narzerzi niz C++ Builder

About

CR Kursu Obiektowego C++ Mirosława Zelenta


Languages

Language:Pascal 98.6%Language:C++ 1.4%Language:QMake 0.1%