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...
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!