[Scripts] Convenção de nomes (Naming Convention) Lua |
Bolodefchoco « Sénateur » 1528854300000
| 1 | ||
Com base na wiki de usuários Lua e também no estilo base do Python, eis a convenção de nome / estilo da linguagem Lua. "O código é lido com muito mais frequência do que é escrito" Indentação: Geralmente utiliza-se dois espaços em branco -> " ". Isso deve-se ao fato de que Lua pode ser profundamente aninhando em situações não tão complexas. No entanto, é comum observar indentação com 3-4 espaços/tabs. Tamanho do nome de uma variável: Em regra geral, utilize nomes maiores e/ou mais intuitivos para escopos maiores e/ou globais, e sinta-se a vontade para utilizar uma ou duas letras para escopos pequenos, como a letra i como um contador de um loop. Nome de valor e objeto: Por padrão, as variáveis utilizam o modelo camelCase, sendo a primeira palavra em minúscula e as palavras seguintes iniciando-se em maiúscula, comoNesteExemplo.
Nome de função: Geralmente escritas em camelCase, podem também ser escritas com underscores, como em print_table, assim como também podem copiar o padrão adotado pela biblioteca oficial de Lua, com o nome completamente minúsculo, visível em getmetatable. Nome de variável interna do Lua: Por padrão, começam com um underscore, precedido por letras maiúsculas, como _VERSION e _G. Nome de constante: Por padrão, as constantes são escritas em letras maiúsculas, com a separação de palavras por meio de underscores se desejado, como em MAX_VALUE e MAXVALUE. Nome de pacote ou módulo: São nomes pequenos e em letras minúsculas, como em luasql.sqlite, e raramente contém underscore ou hífen. Variáveis anônimas: As variáveis das quais você não usará realmente no programa, geralmente, são nomeadas com um underscore. Um exemplo prático seria um for genérico, onde você quer o segundo valor de retorno e ignorará o primeiro. Code Lua 1 for _, v in next, t do end Variáveis comuns: As variáveis mais comuns em lua são:
Code Lua 1 2 3 4 5 6 7 function Cachorro:latir(som) Nome de Classe: (não que classes existam realmente em Lua), são geralmente escritas na convenção léxica das funções, exceto em casos onde o desenvolvedor prefere utilizar PascalCase, onde todas as palavras se iniciam com uma letra maiúscula, mesmo a primeira. Acrônimos tendem a fazer parte do camelCase também, como Xml. Escopo: Use o escopo local sempre que possível, também opte por abrir novos escopos utilizando o do, caso a variável local seja usada só naquele momento.
Ambiente dos módulos: Em vez de criar funções em módulos (Lua) e utilizá-los com o uso de require("modulo"), faça com todas as funções e métodos se encontrem numa tabela local e faça um return tbl no módulo, permitindo o uso dele numa variável. Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -- lib.lua Comentários: Utilize, por padrão, um espaço depois do --. Comparações em condicionais: Os tipos false e nil são tratados de formas iguais. Evite o uso de ~= nil e == nil e opte pelo uso do prefixo not (a menos que você aceite o valor false, e exclusivamente não o nil). Evite, também, o uso de == true, afinal, tudo em lua é true, a menos que seja false ou nil. Utilize apenas para legibilidade quando necessário. Dernière modification le 1529087640000 |
2 | ||
Tópico organizado |
Aalors « Censeur » 1528990320000
| 2 | ||
Moon a dit : |
Ninguem « Consul » 1529086500000
| 2 | ||
Muito legal o tópico, deu para aprender bastante. Ultimamente eu tenho o costume de deixar variáveis globais em letras maiúsculas, independente de ser constante ou não. Eu não utilizo muito o "do end", mas acho que eu deveria, muitos pedaços do meu código tem variáveis usadas somente pra um contexto pequeno da função. No pairs() eu utilizava i e v mesmo, pra mim é index igual, mas entendo a diferença, acho que vou me adaptar a isso então. Já as variáveis anônimas eu não sei se tem mesmo um real sentido em ser tão rígido assim, dificilmente você vai querer usar uma variável k com outro uso dentro do laço. Outra convenção não mencionada é a de matrizes, onde utilizamos i e j para representar os índices. |
Bolodefchoco « Sénateur » 1529087640000
| 1 | ||
Esqueci delas. Vou adicionar. |