Większy program

0

Witam. Mam kilka pytań dotyczących tworzenia większych programów. Dotychczas tworzyłem proste programiki mieszczące się w 2/3 plikach. Teraz próbuję napisać coś większego, napisałem większość funkcji jednak chciałbym je jakoś posegregować. Bardzo nie lubię gdy kod jest nieczytelny, lub brzydko wygląda (mam jakąś manię :/).
Podzieliłem sobie program na 3 dwie funkcje główne wykonujące się cały czas i 10 "zestawów funkcji", zapisałem w osobnych plikach, każdy dotyczy obsługi jednej funkcjonalności programu.
I teraz pytanie jak te zestawy funkcji oddzielić, widziałem w jakimś open sourcie że każdy właśnie taki zestaw stworzony był jako osobna klasa. Wywoływany był jeden obiekt tej klasy i z niego korzystano w programie. Zastanawiam się czy takie rozwiązanie jest zgodne ze standardami i "zasadami" tworzenia dobrego kodu. A może po prostu powinienem użyć namespace'ów i używać definiować je jako static bo pewnie gdzieś wystąpi redefinicja?
I kolejne pytanko, czym rożni się utworzenie zwykłego obiektu (Klasa Obiekt) od utworzenia go przez wkaźnik(Klasa* Obiekt)? Czy w odwoływaniu przez wskaźnik są jakieś większe różnice poza działaniem "od środka" a co za tym idzie szybkością? Mógłby mi ktoś przybliżyć pokrótce kiedy używać przez wskaźnik? Aha i czy metody w takiej klasie nadal są inline?
I na końcu jeżeli macie jakieś ciekawe materiały na temat organizacji takiego kodu to proszę o linki. Tak samo jeżeli znacie jakieś wzorowe przykłady open sourcowego kodu to także proszę o linki.
Pozdrawiam :D

2

Bardzo nie lubię gdy kod jest nieczytelny, lub brzydko wygląda

To raczej normalne :P

I teraz pytanie jak te zestawy funkcji oddzielić, widziałem w jakimś open sourcie że każdy właśnie taki zestaw stworzony był jako osobna klasa.

Podział na klasy jest podstawą - od sensownego przemyślenia architektury powinno się tak naprawdę dopiero odbywać pisanie aplikacji, a nie od klepania kodu.
Generalnie klasa powinna spełniać zasady SOLID, przyda się również znajomość wzorców projektowych - na Wiki rozpisane są przykłady, które z całą pewnością znajdą odzwierciedlenie w Twoim kodzie.

czym rożni się utworzenie zwykłego obiektu (Klasa Obiekt) od utworzenia go przez wkaźnik(Klasa* Obiekt)?

W pierwszym przypadku obiekt tworzony i zwalniany jest automatycznie (w momencie, odpowiednio, wejścia i wyjścia z/do scope - fachowo nazywa się to RAII), w drugim - Ty musisz go zwolnić.
Różnicy szybkości w dereferencji nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1