←  Tutoriale

AMXX.pl: Support AMX Mod X i SourceMod

»

Przejrzystość kodu źródłowego

Gość__* 30.11.2009

Przejrzystość kodu źródłowego
Krótki jednak dość ważny artykuł dla początkujących programistów dotyczący przejrzystości kodu źródłowego. Na początku odeśle Was do małej lektury ;) Gdy zapoznasz się z definicją słowa 'kod źródłowy' czytaj dalej ;)

I. Wydajność
Gdy przeczytanie kodu źródłowego sprawia mniej problemów tym łatwiej przeanalizować działanie, co się dzieje i wtedy możemy spokojnie modyfikować program. Gdy mamy do czynienia z językami wysokiego poziomu warto pisać w najnowszej wersji języka ( czyt. specyfikacja ).

II. Usuwanie błędów
Gdy wiemy która linia programu sprawia kłopot warto używać edytora, który numeruje wiersze. Wiedza o problemie zawsze jest ważna, ba jest bezcenna. W rozwiązaniu problemów pomaga jednolite formatowanie kodu oraz stosowanie komentarzy.

III. Modyfikacje, rozszerzenia
Stosowanie komentarzy jest bardzo ważne! Gdy chcemy wrócić do programu po kilku miesiącach nie zawsze jesteśmy spamiętać logikę działania. Gdy inny programista chce rozszerzyć nasz kod, komentarze tylko mu pomagają.

IV. Od deficjencji do przykładów
Komentarze, jak używać?
Za pomocą // możemy skomentować tylko jeden wiersz! Przykładowo

//Przykład użycia if, else if ; Za pomocą opratrora == sprawdzamy czy zmienna a równa się 5
if (a == 5) {
//Powtarzamy warunek ( czy zmienna a jest różna od 6 ), wtedy gdy liczba nie jest równa 5!
} else if (a != 6) {
}

Za pomocą /* komentarz */ może komentować kod w 'x' wierszach! Przykładowo

/* Przykład użycia if, else if ; Za pomocą opratrora == sprawdzamy czy zmienna a równa się 5
Powtarzamy warunek ( czy zmienna a jest różna od 6 ), wtedy gdy liczba nie jest równa 5! */
if (a == 5) {
} else if (a != 6) {
}

Poradnik w budowie ;)
Jest to krótki wstęp do pisania programów we wszystkich językach.

Pamiętaj, nie staraj się na początku optymalizować kod najkrócej jak się da - wszystko przyjdzie z czasem. Jeżeli nie programowałeś nigdy warto zapoznać się z takimi definicjami jak operator, instrukcja warunkowa, pętla, tablica, zmienna/stała czy funkcja.

Ten mały poradnik napisałem z myślą o użytkownikach, którzy nie mając zielonego pojęcia o programowaniu chcą pisać, a myślą, że nauczą się po przeczytaniu kilku pseudo poradników. AMXX oparty jest o pawn'a i opanowanie jego nie jest tak banalne. Głównym powodem jest brak polskiej, porządnej dokumentacji języka czy dobre lektury. Gdy Twoja znajomość języka angielskiego jest kiepska, poucz się ;)
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 30.11.2009

Nom ok, ale mógłbyś dać jakieś przykłady że np wydajniej jest zrobić:
new x = get_cvar_num("jakis_cvar")
for (new i; i<1000; i++)
  client_print("x=%d", x)
niz:
for (new i; i<1000; i++)
  client_print("x=%d", get_cvar_num("jakis_cvar"))

Tak samo jak używać komenatrzy w amxx'ie itp
Odpowiedz

Gość__* 30.11.2009

Nie ma problemu, dodam.

Przykład komentarzy dodany, wydajność dodam pod wieczór.
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 30.11.2009

a nazywanie zmiennych i funkcji zgodnie z ich przeznaczeniem ?
Odpowiedz

  • +
  • -
naven - zdjęcie naven 30.11.2009

Masz na myśli Notację Węgierską?
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 30.11.2009

no mnie więcej ale raczej mniej ;) chodziło mi że funkcji dodająco hp lepiej nazwać hp_add niż funkcja_2 ;)
Odpowiedz

  • +
  • -
darkman - zdjęcie darkman 30.11.2009

Nom ok, ale mógłbyś dać jakieś przykłady że np wydajniej jest zrobić:

new x = get_cvar_num("jakis_cvar")
for (new i; i<1000; i++)
  client_print("x=%d", x)
niz:
for (new i; i<1000; i++)
  client_print("x=%d", get_cvar_num("jakis_cvar"))

Tak samo jak używać komenatrzy w amxx'ie itp


wg. mnie jest to dobre tylko wtedy, jeżeli używamy tej funkcji więcej niż raz O:)
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 30.11.2009

Pavulonowi chodzi o to, ze pobieranie 1000x tego samego jest nie optymalne.
Odpowiedz

Gość__* 10.12.2009

W następnym tygodniu znajdę czas, poprawię + dodam więcej.
Odpowiedz