Este guia tem como intuito instruir novatos em lua a programarem de forma legível e bonita nesta maravilhosa linguagem.
Definição de Variáveis:
Sempre contendo todas as palavras em minúsculo.
Definição de Métodos
Métodos, assim como variáveis devem possuir seus nomes inteiramente em minúsculo assim como a stdlib do lua utiliza.
Definição de Classes e Módulos (usando metatables)
Quanto as classes e módulos em lua nós utilizamos tables porém para diferenciar de métodos e variáveis devemos adotar CamelCase, da seguinte forma:
Definição de Constantes
Deverá ser sempre com o nome inteiramente em maiúsculo.
Definição de Strings
Opte sempre que possível por aspas simples (') ao invés de aspas duplas (").
Definição de Tables
Apenas para inicialização vazia você pode escrever em uma linha, da seguinte forma:
Indentação
A indentação deve ser de 3 ou 4 espaços.
Definição de for e if
Nestes dois casos, quando o código interno possui apenas uma linha ou um comando simples pode-se manter tudo em uma linha só.
Comentários para funções
É recomendável que deixe seu código bem comentado para facilitar futuras edições, para isso adotamos um padrão próximo ao JavaDoc, da seguinte forma:
Definição de Variáveis:
Sempre contendo todas as palavras em minúsculo.
- Código:
local nomedaminhavar
- Código:
minhavarglobal
for i = 0, 10
Definição de Métodos
Métodos, assim como variáveis devem possuir seus nomes inteiramente em minúsculo assim como a stdlib do lua utiliza.
- Código:
function meumetodo
end
Definição de Classes e Módulos (usando metatables)
Quanto as classes e módulos em lua nós utilizamos tables porém para diferenciar de métodos e variáveis devemos adotar CamelCase, da seguinte forma:
- Código:
local MeuModulo = {}
local MinhaClasse = {}
Definição de Constantes
Deverá ser sempre com o nome inteiramente em maiúsculo.
Definição de Strings
Opte sempre que possível por aspas simples (') ao invés de aspas duplas (").
Definição de Tables
Apenas para inicialização vazia você pode escrever em uma linha, da seguinte forma:
- Código:
local table = {}
- Código:
local table = {
'nome',
'nome2',
'nome3',
}
Indentação
A indentação deve ser de 3 ou 4 espaços.
Definição de for e if
Nestes dois casos, quando o código interno possui apenas uma linha ou um comando simples pode-se manter tudo em uma linha só.
- Código:
for i = 0, 10 do print(i) end
if x == 1 then print('sim') end
Comentários para funções
É recomendável que deixe seu código bem comentado para facilitar futuras edições, para isso adotamos um padrão próximo ao JavaDoc, da seguinte forma:
- Código:
--
-- meumetodo
--
-- Descrição do meu método
--
-- @param nome descrição
-- @return tipo descrição
--
function meumetodo(param1)
return 0
end