Gra [SFML/STL] Zew Bogów - OCENA KODU

Gra [SFML/STL] Zew Bogów - OCENA KODU
MV
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 8 lat
  • Postów:1
0

edytowany 2x, ostatnio: mvxxx
kq
wrzuć to na jakiegoś githuba czy coś.
MV
myślałem o tym ale wcześniej się tego jeszcze nie tykałem i na razie nie umiem z tego korzystać
K5
dodaj screenshoty i znajdz lepszy hosting na pszyszłość
mwl4
  • Rejestracja:około 12 lat
  • Ostatnio:22 dni
  • Lokalizacja:Wrocław
  • Postów:399
0

W wielu miejscach brak wcięcia kodu: (tak to wygląda na prawdę)

Kopiuj
void Character::fall(sf::Time time)
{
is_fall=true;
if(speed<0)speed=0.0f;
speed+=15.0f;
s_character.move(0.0f,speed*time.asSeconds());
}

Albo: http://pastebin.com/b05bTqXJ
Dalej nawet nie czytam, bo bez poprawnego formatowania ciężko będzie.


Asm/C/C++
edytowany 1x, ostatnio: mwl4
admc
  • Rejestracja:prawie 18 lat
  • Ostatnio:ponad 7 lat
2

Tak na szybko:

  1. W plikach nagłówkowych nie należy stosować using namespace.
  2. W plikach nagłówkowych brakuje dyrektyw #ifndef #define #endif albo #pragma once
  3. Chyba w każdym pliku masz dołączony plik iostream, po co?
  4. Proponuję jedną klasę na plik nagłówkowy, a nie kilka klas w jednym pliku.
  5. Nie używaj "gołych" wskaźników.
  6. Zamiast projektu w Code::Blocks powinieneś użyć cmake, autotools albo innego narzędzia
  7. Skoro mamy ocenić kod to po co wrzucasz binarki?
MV
2. Po co te dyrektywy? 5. tzn, o czym mówisz i dlaczeog nie używać? 6. Czemu?
mwl4
@mvxxx 2. jeśli includujesz ten sam header dwa razy w pliku cpp to może być problem. Oczywiście nie widać, że header jest includowany dwa razy, bo np. include znajduje się w innym pliku .h. 5. użyj smart pointerów, które są o wiele bezpieczniejsze. 6. bo nie każdy ma code::blocks żeby w nim kod kompilować.
pylaochos
@mvxxx, poczytaj o include guard. Chodzi o to, żeby automat inculdował jeden heder maksymalnie 1 raz. Polecam po prostu #pragma once.
admc
2. dokładnie tak jak mwl4 mówi, 5. bardzo dużo błędów powstaje, gdy używasz takich konstrukcji auto *ptr => https://goo.gl/eHQbly 6. to zła praktyka, do repozytorium nie dodaje się żadnych plików pochodzących od edytora - w pracy grupowej każdy może używać innego i wyobrażasz sobie, co by było gdyby każdy dodawał swoje pliki - Code::Blocks, Eclipse, Netbeans, InteliJ, itp.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.