Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Przejrzystość kodu źródłowego


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 30.11.2009 02:24

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ę ;)

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 30.11.2009 02:32

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
  • +
  • -
  • 0

#3 Gość__*

  • Autor tematu
  • Gość

Reputacja: 0

Offline

Napisano 30.11.2009 02:34

Nie ma problemu, dodam.

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

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6032
Godlike

  • Postów:10825
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 30.11.2009 19:23

a nazywanie zmiennych i funkcji zgodnie z ich przeznaczeniem ?
  • +
  • -
  • 0

#5 naven

    Hero

  • Power User

Reputacja: 200
Profesjonalista

  • Postów:1088
  • GG:
  • Imię:Adam
  • Lokalizacja:Cieszyn
Offline

Napisano 30.11.2009 20:03

Masz na myśli Notację Węgierską?
  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6032
Godlike

  • Postów:10825
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 30.11.2009 20:07

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

#7 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 85
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 30.11.2009 21:40

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:)
  • +
  • -
  • 0

#8 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 30.11.2009 22:02

Pavulonowi chodzi o to, ze pobieranie 1000x tego samego jest nie optymalne.
  • +
  • -
  • 0

#9 Gość__*

  • Autor tematu
  • Gość

Reputacja: 0

Offline

Napisano 10.12.2009 22:39

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




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych