Ir para conteúdo
Entre para seguir isso  
GDLib

Padronizando seus códigos LUA

Recommended Posts

GDLib    2
GDLib

Tenho observado que no OpenTibia existem sim bons scripters LUA, mas apesar disso, eles fazem muitos códigos apenas para que os mesmos funcionem, e não ligam muito para a estética e performace de seus códigos. Com isso, irei dar algumas dicas para que haja uma melhora quanto a isso:

 

1) Estruturação de códigos

Quanto melhor a estruturação, mais fácil fica a leitura do código, então baseie-se na seguinte hierarquia:

 

Classe
   Função
       Condições (se existir)
            Ação da condição
       Fim da Condição
   Fim da Função
Fim da Classe

 

Eu sugiro que usem uma tabulação equivalente a quatro espaços.

 

Um exemplo quanto a isso, é o uso das constantes booleanas TRUE e FALSE, em vez de 1 e 0, respectivamente.

 

3) Condições

 

Estética

Acostume a usar parênteses nas condições, pois isso pode tornar mais fácil o entendimento do código.

 

Caso a condição possua mais de uma checagem, usando os operadores OR e AND, coloque parênteses no mesmos também.

 

Performace

Se você tiver uma série de condições sempre comece com as mais usuais e eficientes, ou seja, as que são interpretadas mais fácilmente, em OpenTibia por exemplo, as mais lentas são as que engloba posições.

Mas existe uma excessão quanto a isso, caso seja mais normal de acontecer tal condição mesmo que a condição tenha uma checagem lenta, é melhor você começar com elas do que com checagens rápidas mas raras de se acontecer. E claro, sempre use os "atalhos" dos operadores: OR, AND, XOR, eles servem para evitarem novas condições dentro de condições, o que não é bom.

 

Além disso, evite comparar strings, ao invés disso, compare números, pois, quando se compara strings, você checa cada letra e dependendo da string, isso pode ser fatal. Com números é totalmente diferente, pois você checará o número de forma exata.

 

4) Variáveis

 

Estética

Evite criar variáveis com nomes que não identificam a "função" da mesma no código. Usar funções auto-explicativas é uma boa.

 

Performace

Quando for usar apenas a variável criada em uma função, declare a como local, isso fará com que você possa usar o nome da mesma função só que com valores diferentes em scripts diferentes.

Além disso, sempre que puder, declare as variáveis fora da função, a não ser que seja realmente necessário.

 

5) Constantes

 

Estética

Por padrão, constantes são declaradas com nomes maiúsculos, então, tente se acostumar quanto a isso.

 

Performace

Sempre declare constantes fora de funções, pois assim, só serão interpretadas uma vez.

Além disso, nunca use os valores das constantes ao invés delas mesmas, se não, não justifica existir constantes.

 

Para mais informações, consulte: Lua.org

 

Creio que isso é tudo pessoal, irei atualizar com novas dicas sempre que eu lembrar de mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dark    3
Dark

Muito bom... Vai ajudar muita gente

 

Obrigado !!

 

Topico Aprovado

 

Movido

(Scripting -> Tutoriais)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Arthur Anderaos    0
Arthur Anderaos

As pessoas estão desacostumadas com o padrão.

O português usado na internet é piada,

os scripts são cada vez menos legíveis...

Tentem programar em C++ fazendo essa baderna que fazem.

 

Gostei do Tutorial, espero que façam uso dele.

 

(Y)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Tio Gordo    8
Tio Gordo

Muito bom mesmo!

Só ficou meio estranho isso:

1) Estruturação de códigos

 

e depois

3) Condições

cade o 2 :P

mas isso n vem ao caso!

excelente tuto!!

vlws

Compartilhar este post


Link para o post
Compartilhar em outros sites
plomentes    0
plomentes

bbomm

vai ajudar bastente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×