Sveiki, kaip pastebėjau daugelis pradedančiųjų nesupranta kaip reikia lygiuoti kodą, todėl šioje pamokoje pabandysiu tai parodyti ir paaiškinti ir tikiuosi Jūsų kodai taps lengviau skaitomi. ;)
Teorija
Nustatytų taisyklių, kaip lygiuoti kodą, nėra, tačiau į tai turime kreiptį dėmesį, nes kompiliatorius netvarkingą kodą skaito sunkiau ir jei jis yra netvarkingas - įspėja.
Kodas: Pasirinkti visus
warning 217: loose indentationTodėl jei norite, kad serveris nors ir labai nežymiai, bet veiktų sklandžiau, patariu kodą išlaikyti tvarkingą. Pirmiausia galite įsivaizduoti, kad kodas rašomas tarsi laiptais:
Kodas: Pasirinkti visus
laiptelis
{
laiptelis
{
laiptelis
{
funkcija( playerid );
kintamasis = true;
}
}
}- Kaip matote kiekvieno laiptelio pradžioje padedame { skliaustą.
- Tuomet spaudžiame ENTER klavišą, kuris žymeklį perkelia į kitą eilutę.
- Po to spaudžiame TAB klavišą, kuris perkelia žymeklį per 4 vietas į priekį ir tada rašome kitą laiptelį (t.y. kodą).
- Jei panaudojome { skliaustą, visada baigę rašyti kodą, privalome jį uždaryti su } skliaustu. Lygiuojant pačius laužtinius { ir } skliaustus, tereikia įsiminti, kad jie turi išlikti toje pačioje vertikalioje eilėje.
Pavyzdys
Geriausias netvarkingo kodo pavyzdys - GRP gamemod'ai. Žemiau iš GRP gamemod'o paimsiu nesulygiuotą kodo gabalą ir parodysiu, kaip turėtų atrodyti tvarkingas kodas.
Netvarkingas:
Kodas: Pasirinkti visus
if(dialogid == 6070)
{
if(response)
{
if(listitem == 0)
{
if(!IsPlayerInAnyVehicle(playerid)){
SendClientMessage(playerid,0xB4000BAA,"Jūs esate ne mašinoje!");
return 1;
}
if(GetPlayerMoneyA(playerid)<30)
{
SendClientMessage(playerid,0xB4000BAA,"Norint suremontuoti tr.priemone,reikia turėti 30Lt.!");
return 1;
}
GivePlayerMoneyA(playerid,-30);
SendClientMessage(playerid,0x00A10BAA,"Tr.priemonė suremontuota!");
if(IsPlayerInAnyVehicle(playerid)) SetVehicleHealth(GetPlayerVehicleID(playerid),1000);//vidus
if(IsPlayerInAnyVehicle(playerid)) RepairVehicle(GetPlayerVehicleID(playerid));//isvaisda
return 1;
}
return 1;
}
return 1;
}Tvarkingas:
Kodas: Pasirinkti visus
if ( dialogid == 6070 )
{
if ( response )
{
if ( listitem == 0 )
{
if ( !IsPlayerInAnyVehicle( playerid ) )
SendClientMessage( playerid, 0xB4000BAA, "Jūs esate ne mašinoje!" );
else if ( GetPlayerMoneyA( playerid ) < 30 )
SendClientMessage( playerid, 0xB4000BAA, "Norint suremontuoti tr.priemone,reikia turėti 30Lt.!" );
else
{
GivePlayerMoneyA ( playerid, -30 );
SendClientMessage( playerid, 0x00A10BAA, "Tr.priemonė suremontuota!" );
if ( IsPlayerInAnyVehicle( playerid ) )
SetVehicleHealth( GetPlayerVehicleID( playerid ), 1000 ); // Vidus
if ( IsPlayerInAnyVehicle( playerid ) )
RepairVehicle( GetPlayerVehicleID( playerid ) ); // Išvaizda
return true;
}
}
}
return true;
}Papildomai
Taipogi daugumai iškyla problemų su { ir } skliaustais, tačiau yra situacijų kuomet { ir } skliaustų galite nedėti.
1. Jei po if sąlygos naudojate tik vieną eilutę:
Kodas: Pasirinkti visus
if ( sąlyga )
{
funkcija( playerid );
}
else
{
kintamasis = true;
}Kodas: Pasirinkti visus
if ( sąlyga )
funkcija( playerid );
else
kintamasis = true;2. Jei po if sąlygos naudojate tik vieną eilutę, o po else daugiau:
Kodas: Pasirinkti visus
if ( sąlyga )
{
funkcija( playerid );
}
else
{
kintamasis = true;
kintamasis2 = false;
}Kodas: Pasirinkti visus
if ( sąlyga )
funkcija( playerid );
else
{
kintamasis = true;
kintamasis2 = false;
}Pabaiga
Tikiuosi naujokams ši pamoka kiek nors pravertė. P.S. Kartais paprastus dalykus yra sunku paaiškinti, todėl jei ko nesupratote - klauskite.
Laukiu nuomonių ir komentarų.
KOPIJUOTI GRIEŽTAI DRAUDŽIAMA.









