Lua: Le tutoriel  wxWidgets
Lua
Préambule: Guide de style...

Sachant qu'un code est lu beaucoup plus souvent qu'il n'est écrit, il semble primordiale de bien pouvoir se relire... ce qui n'est pas toujours le cas.

Il n'existe pas de règle absolue en la matière, mais simplement des recommandations basées bien souvent sur l'expérience.

Ce petit guide de style, vise à améliorer la lisibilité du code par la cohérence de son écriture.

Il s'agit bien évidement d'une simple recommandation que vous êtes libre de suivre ou pas... c'est vous qui voyez!

Le principal, me semble-t-il, est de choisir un style qui vous plaise et de ne plus en changer.

C'est à vous de pouvoir vous relire rapidement dans 15 jours, 3 semaines ou plus...


L'indentation se fait généralement avec 2 espaces
for i, v in  ipairs(t) do 
  if  type(v) == "string" then 
    print(v)
  end
end		
				

Pensez à définir des noms de variables le plus explicitement possible:
local x = .. ou local y = .., c'est pas terrible, mais local nbLignes ou local pxBanane par exemple, c'est déjà mieux, l'on sait tout de suite ce que cela veut dire.

La longueur du nom de la variable: Les noms de variables avec un plus grand champ d'application devrait être plus descriptif que ceux qui ont une plus petite portée.
Par exemple, la variable (i) est probablement un mauvais choix pour une variable globale dans un vaste programme, mais elle a parfaitement sa place en tant que compteur dans une petite boucle.

Le nom des variables est généralement écrit en lettres minuscules. ( local maVariable )

Le nom des fonctions: Plusieurs façons de procéder... à vous là aussi de choisir!
nomdelafonction(), nom_de_la_fonction(), NomDeLaFonction(), Nom_De_La_Fonction() ...etc, vous n'avez que l'embarras du choix! mais faites toujours la même chose.

Les constantes sont écrites en lettres CAPITALES séparées le cas échéant par des tirets de soulignement: MA_VARIABLE_EST_UNE_CONSTANTE

Le trait de soulignement _ est souvent utilisé comme espace réservé lorsque vous voulez ignorer une variable. ( local _, x, _, _, y, z = NomDeVotreFonction() )

Les variables i, k, v, t sont souvent utilisées comme suit:
for k,v in pairs(t) ... end
for i,v in ipairs(t) ... end
mt.__newindex = function(t, k, v) ... end	
				

Pensez à utiliser autant que faire ce peut les variables locales qui prennent moins de place en mémoire et sont plus rapides.

local x = 0
local function count()
  x = x + 1
  print(x)
end	
				

Les commentaires: Utiliser une espace après les deux tirets. ( -- commentaires )
Il peut être intéressant aussi de renseigner à quoi correspondent les end de fin de boucle ou de fonctions, surtout pour les programmes importants.

for i,v in ipairs(t) do
    if type(v) == "string" then
      ...votre code ...
    end -- if type(v)
end -- ipairs(t)	
				

Et pour finir, un petit mot sur le "point virgule" (;)
Lua n'impose pas sa présence à chaque fin de ligne.
Vous faites comme vous le sentez, avec ou sans c'est pareil...

Par contre, plusieurs instructions sur la même ligne se doivent d'être séparer par un (;)
sinon = plantage!


Une idée de denière minute!

Dernièrement, j'ai été amené à reprendre un gros programme pour y apporter quelques modifications.
Je n'avais pas mis les mains dedans, depuis de longs mois et j'ai eu du mal à retrouver la correspondance des variables. local ou global, table ou string ou nombre ou autre chose?... etc.
Et donc, je me suis dit que peut-être il serait intéressant de spécifier au fur et à mesure de l'écriture du code, la nature et/ou le type de la variable.
Comme on le fait déjà avec d'autres langages.
Par exemple:
l pour local, g pour global, t pour table, s pour string, n pour nombre... etc.
Cela alourdit un peu l'écriture, mais en contre partie on s'y retrouve beaucoup plus vite.
L'on pourrait faire par exemple:
maVariable_ls --> ce qui signifierait local string
maVariable_gt --> ce qui signifieraitglobal table
L'on pourrait aussi mettre la spécificité devant:
gn_maVariable --> ce qui signifierait global nombre... mais j'aime un peu moins, ça met trop en avant le type au détriment de la variable elle même... enfin, c'est mon avis.
Le fait de positionner les renseignements après et non avant, permet d'avoir les informations au cas ou! et non systématiquement.

C'est simplement une idée, à vous de voir et d'en faire bon usage ou pas.
Mais ça ne coute rien de faire l'essai!
logo wxWidgets Le savoir ne vaut que s'il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 20 novembre 2012.
Valid XHTML 1.0 Transitional

wxlualogo
Flèche haut
Flèche gauche
Flèche haut
Flèche droite
Connexion à la base de données impossible