Forum GtaBomb Index du Forum
Forum GtaBomb
Forum sur GTA
 
Forum GtaBomb Index du ForumFAQRechercherS’enregistrerConnexion

:: Corriger indentation - Professional script ::

 
Poster un nouveau sujet   Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses.    Forum GtaBomb Index du Forum -> San Andreas Multiplayer -> Scripting
Sujet précédent :: Sujet suivant  
Auteur Message
Clad
Administrateur

Hors ligne

Inscrit le: 15 Mai 2008
Messages: 475
Point(s): 8 388 604
Moyenne de points: 17 660,22

MessagePosté le: Mer 18 Juin - 17:20 (2008)    Sujet du message: Corriger indentation - Professional script Répondre en citant

Corriger indentation - Scripting professionnel
                    "Indentating correctement votre code fait-il clair et facile à lire ..."
Faites vos scripts look professionnel ...

Peu de paroles de sagesse ...
Corriger l'indentation de votre code fait regarder beaucoup plus agréable, aussi il sera plus facile à lire et à comprendre.
Il ya beaucoup de scripters là-bas, qui sont encore professionnel et expérimenté dans certains SA-MP fonctions de script,
mais le code qui manque sérieusement de l'indentation. Lorsque vous êtes un novice en retrait et horriblement code est lancée sur votre visage,
il semble logique que vous ne pourrez pas comprendre qu'il est de bonne comme vous le feriez bien comprendre le code en retrait. Il existe de nombreux
tiret, les moyens de votre code (en fait styles d'indentation). Par correctement l'indentation de votre code vous faire un look professionnel
et il est très probablement plus utile pour les débutants que n'importe quel autre foiré morceau de code.


Questions ...
   Qu'est-ce que l'indentation?
     Indentation du code est de prendre le droit à séparer du reste du code, ce qui rend le code lisible mieux.
     Combien le code est pris au droit dépend de TABSIZE.

   Qu'entend-on par «TABSIZE"?
     TABSIZE est la quantité d'espaces générés par pion de codage Programme d'indenter le code correctement.

   Quelle est la taille de "TABSIZE" en pion ou SA-MP script?
     Dans Pion, tabsize ordinaire est de 8 (TAB un éditeur dans le Bloc-notes par exemple), mais dans "a_samp.inc» comprennent les TABSIZE est pragmad à 4 espaces.
   

Changer TABSIZE
Vous pouvez modifier TABSIZE de tout montant de places que vous souhaitez, même 0, ce qui est clairement en évitant les mises en garde (217 Warning: Loose indentation).
Lorsque vous êtes habitué avec 8 taille tabsize, puis simplement faire comme dans votre script:
Pawn Code:

# pragma tabsize 8

Pour récupérer le droit de tabsize SA-MP Scripting, il vous suffit de supprimer cette ligne et # pragma tabsize 4 sera prélevé sur a_samp.inc


Styles d'indentation
Il ya beaucoup de styles d'indentation, mais si vous préférez faire votre code facile à lire, à écrire tout le code correctement,
en utilisant les espaces entre les paramètres (lire ci-dessous) et déplacer le code de 4 espaces (tabsize) du dernier niveau (lire ci-dessous).

Le meilleur moyen de votre code tiret est certainement le style Allman, qui ressemble à ceci:
Pawn Code:

if (! Arrivée (paramètre, paramètre))
(
     print (paramètre, string []);
)
autre
(
     DoSomething (ID, quoi);
)

Il ya beaucoup d'autres styles d'indentation, un de ceux peut-être ressemble à ceci,
Pawn Code:

if (! Arrivée (paramètre, paramètre))
     print (paramètre, string []);
autre
     DoSomething (ID, quoi);

ou ceci:
Pawn Code:

if (! Arrivée (paramètre, paramètre)) (
     print (paramètre, string []);
) Else (
     DoSomething (ID, quoi);
)


L'indentation dépend totalement de style sur le scripteur. Ce qui est le plus important que le code est
bien lisible et n'est pas un gâchis total (vrai, quelques-uns des styles d'indentation ressembler à cela).


Eviter l'indentation
... Est quelque chose que je ne recommandons pas.
Il mai perdre les mises en garde, mais le code restera laid et à peine lisible.
Pawn Code:

/ * Set tabsize à 0, de sorte que vous n'aurez pas besoin de l'indentation * /
# pragma tabsize 0



Correctement l'indentation, enfin!
Enfin, nous sommes là - permet de commencer l'indentation notre code.

  Tout d'abord, j'aimerais expliquer ma façon de «niveaux», comme je l'ai dit avant:
   Entre chaque niveau, il ya 4 espaces en Afrique du Sud-MP pion Scripting (qui peut être généré en appuyant sur TAB dans la plupart des programmes).
   Chaque niveau se produit quand un "si", "else", "tout" et le début de rappel ou d'une fonction. Il est peut-être mieux pour expliquer parler les crochets.
   "(" Commence un nouveau niveau (code se déplace à droite de 4 espaces), ")" se termine un niveau (code se déplace vers la gauche de 4 espaces).
   PS: 4 places - 1 TAB!
   Exemple de code:
Pawn Code:

/ / Niveau 0 - 0 espaces
Fonction stock (parameter1, parameter2)
(
     / / Niveau 1 - 4 places
     if (quelque chose (param1)) / / un "si" vérifier, que nous passer à un niveau supérieur (il ya un support déclarant)
     (
         / / Niveau 2 - 8 places
         while (quelque chose) / / un "tout" vérifier, que nous passer à un niveau supérieur (il ya un support déclarant)
         (
             / / Niveau 3 - 12 places
             SomeFunction (param);
         ) / / Fin de niveau 3, passez au niveau 2
         DoSomethingElse ();
     ) / / Fin de niveau 2, passez au niveau 1
     autre
     (
         / / Niveau 2 - 8 places
         (boucle) / / une boucle, que nous passer à un niveau supérieur (il ya un support déclarant)
         (
             / / Niveau 3 - 12 places
             if (! Arrivée (parameter1, parameter2)) / / un "si" vérifier, que nous passer à un niveau supérieur (il ya un support déclarant)
             (
                 / / Niveau 4 - 16 places
                 return false;
             ) / / Fin de niveau 4, passez au niveau 3
         ) / / Fin de niveau 3, passez au niveau 2
     ) / / Fin de niveau 2, passez à 1
) / / Fin de niveau 1, la fonction CLOS
/ / Jusqu'à ce que une nouvelle fonction ou un rappel venu, il sera de 0 espaces

   Peut-être que le "niveau" est un peu compliqué, mais juste regarder et de lui donner un peu de penser - il sera clair.

  Deuxièmement, en utilisant les espaces entre les paramètres dans une certaine fonction / callback
   Une autre chose à faire votre code lisible beaucoup plus facile est d'utiliser les espaces entre les fonctions et paramètres de rappel.
   La mauvaise manière de l'écrire serait la suivante:
Pawn Code:

Rappels public (quelqu'un, quelque chose, la raison [])

   La manière correcte et beaucoup plus facile à lire variante serait le suivant:
Pawn Code:

Rappels public (quelqu'un, quelque chose, la raison [])

   Comme vous le voyez, je suis en laissant des espaces avant de définir un nouveau paramètre (après la virgule).
   Même sera fait avec "si" les déclarations, boucles - que tous les paramètres qui peuvent être séparées par des virgules.
   Certains des exemples:
Pawn Code:

/ / Faux
(nouveau i = 0; i <GetMaxPlayers (); i + +)
/ / Droite
(nouveau i = 0; i <GetMaxPlayers (); i + +)

Pawn Code:

/ / Faux
if (! IsPlayerInVehicle (i, vehicleid))
/ / Droite
if (! IsPlayerInVehicle (i, vehicleid))


  Essayons-la sur du code, qui semble très laid!
Pawn Code:

      if (strcmp (cmdtext, "/ téléport", true) == 0)
    (

          if (IsPlayerInAnyVehicle (playerid))
            (
     SetVehiclePos (GetPlayerVehicleID (playerid), X, Y, Z);
           )
        autre
     (
            SetPlayerPos (playerid, X, Y, Z);
         )
                      return 1;
   )

   C'est horrible, j'ai eu du mal à l'écrire comme je l'ai accidentellement en retrait de parties de celui-ci.
   La version correcte de ce code est:
Pawn Code:

if (strcmp (cmdtext, "/ téléport", true) == 0)
(
     if (IsPlayerInAnyVehicle (playerid))
     (
         SetVehiclePos (GetPlayerVehicleID (playerid), X, Y, Z);
     )
     autre
     (
         SetPlayerPos (playerid, X, Y, Z);
     )
     return 1;
)



Attention!
Le script va vous donner d'avertissement 217, "Loose indentation" si vous n'avez pas votre code tiret correctement et ne pas utiliser tabsize 0.


Merci pour la lecture ...
J'espère que ce sujet a contribué à vous et à vos compétences indentation.
Je ne suis pas l'application de ma façon de l'indentation à qui que ce soit, je tiens juste à voir bien en retrait de code.

Note:
N'hésitez pas à partager vos réflexions sur l'indentation et les choses qui s'y rattachent.

Cordialement,
-- Andre Tamm

ECRIT PAR ANDRE9977


Revenir en haut
Visiter le site web du posteur
Publicité






MessagePosté le: Mer 18 Juin - 17:20 (2008)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Ce sujet est verrouillé; vous ne pouvez pas éditer les messages ou faire de réponses.    Forum GtaBomb Index du Forum -> San Andreas Multiplayer -> Scripting Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | créer forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Design par Kronica

Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com