[C++] Poprawianie czytelności pisanego kodu
Ostatnio zmodyfikowano 2013-05-30 14:11
Nowicjusz Temat założony przez niniejszego użytkownika |
[C++] Poprawianie czytelności pisanego kodu » 2013-05-23 22:07:04 Czesc mozecie mi podsunac pomysl jak zrobic zeby main nie byl taki "zagracony" ? Mimo iz program dziele na pliki(w ktorych sa klasy) to i tak main wyglada strasznie. Zaluzmy mam klase ktora tworzy przyciski i chcialbym ich stworzyc 10 to juz zasmiecam main 10-cioma definicjami + 10-cioma funkcjami update + 10-cioma funkcjami rysujacymi. Moglbym obejsc to w ten spsob ze zrobilbym klase ktora tworzy mi te przyciski dzieki czemu mialbym 10 definicji + 1 funkcja update + 1 funkcja rysujaca. No ale te przyciski maja nie tylko sie wyswietlac ale rowniez reagowac na nacisniecie na nie myszka. Mam straszny problem z organizacja kodu, nie sadzilem ze kiedy kolwiek bedzie mnie to derczyc ;p Ponizej umieszcze kod jak mogloby to wygladac, moze nie z dziesiecioma definicjami ale dla przykladu z 3 + 1 funkcja update + 1 funkcja rysjaca. Mozecie mi na podstawie tego powiedzeic jak to inaczej zorganizowac ? int main() { Button Przycisk; Przycisk.create( "Jeden", 0, 10, 30 ); Przycisk.create( "Dwa", 0, 40, 30 ); Przycisk.create( "Trzy", 0, 80, 30 ); Przycisk.create( "Cztery", 120, 10, 30 ); Przycisk.create( "Piec", 0, 160, 30 ); while( 1 ) { Przycisk.update(); if( Przycisk.clicked( 0 ) ) { } if( Przycisk.clicked( 1 ) ) { } Przycisk.draw(); } }
|
|
m4tx |
» 2013-05-23 22:20:32 Tworzenie przycisków można by zrobić za pomocą pętli i tablicy, w której można by było przechowywać dane przycisków. Rysowanie także można zrobić w pętli.
Co do update'owania - możesz sobie zrobić jakiś event system, który będzie działał tak, że np. po wciśnięciu przycisku będzie wywoływana funkcja przekazywana wskaźnikiem. Chociaż tutaj akurat ciężko coś napisać, bo nie sprecyzowałeś w czym problem. |
|
cyklopek11 |
» 2013-05-23 22:35:11 Masz przecież takie pomoce jak: - funkcje środowiska programistycznego fold (zwiń blok) - #include |
|
cyklopek11 |
» 2013-05-23 22:37:08 |
|
Szymko |
» 2013-05-23 23:43:11 możesz sobie stworzyć kolejną klasę i tam w jej konstruktorze zamieścić instrukcje z main'a |
|
Nowicjusz Temat założony przez niniejszego użytkownika |
» 2013-05-23 23:45:59 A poprawnym byloby faktycznie dodanie tych ifow do fora i wywolanie funkcji ktora znajdowalaby sie gdzies w innym pliku ktora jako parametr przyjmowalaby wlasnie index nacisnietego przycisku ? Cos w tym stylu: #plik.h void funkcja( int index ) { switch( index ) { case 1: . . . . case 5: } }
#include "plik.h"
int main() { for( int i = 0; i < 5; i++ ) if( Przycisk.clicked( i ) ) funkcja( i ); }
P.S was chyba mecza takie posty co ;p? |
|
DejaVu |
» 2013-05-30 14:11:45 Organizowanie kodu to nie jest lekka sprawa. Najważniejsze to nauczyć się dzielić kod na funkcje, wykonujące określoną czynność. Później trzeba nauczyć się organizować kod w postaci obiektów. O organizacji kodu sporo można napisać i to chyba nie jest dyskusja na jeden temat :P |
|
« 1 » |