Padrões Opentibia

Nostradamus
em Actions e Talkactions

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Como muitos sabem, sou desenvolvedor LUA oficial do projeto OpenTibia, e, recentemente andei padronizando toda a pasta data com alguns dados que julguei-os necessários para o melhor desenvolvimento por parte de outros programadores não-oficiais que constantemente ajudam no projeto, os scripters. Tal padronização também é usada como parte da mediação interna dos programadores da BlackOnix, um projeto de minha autoria.

 

Sem mais delongas, vamos as "regras" a serem seguidas:

  • Estruturação de códigos

Quanto melhor a estruturação, mais fácil fica a leitura do código, baseando-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

 

A tabulação deve ser equivalente a quatro espaços, que é o mesmo que se apertar TAB.

 

  • Condições

  • Estética
    • Use parênteses nas condições, pois isso pode tornar mais fácil o entendimento do código.

  • Performace
    • Caso tenha uma série de condições, começe com as mais usuais e eficientes (interpretadas com facilidade)

    • Caso seja mais normal de acontecer uma condição mesmo que esta seja menos eficiente, ignore o primeiro passo

    • Use nas condições "atalhos" com os operadores "or" e "and" para evitar condições dentro de condições

    • Evite comparar strings, pois ao fazer isso você checa cada letra, e isso pode ser prejudicial

  • Variáveis

  • Estética
    • Evite criar variáveis com nomes que não identificam a "função" da mesma no código

  • Performace
    • Caso for usar uma variável usada apenas em uma função, declare a mesma como "local".

    • Sempre que possível, declare variáveis fora de função.

  • Constantes

  • Estética
    • Crie nome de constantes usando apenas usando letras maiúsculas e "_".

    • Utilize-se de "grupos" para organizar as constantes, são eles:
      • Storages
        • (STORAGE_)

        [*]ActionIDs
        • (ACTIONID_)

        [*]UniqueIDs
        • (UNIQUEID_)

  • Performace
    • Sempre declare constantes fora de funções.

    • Nunca use os valores correspondentes a constante ao invés delas mesmas.

Caso tenha mais dúvidas, consule o manual do LUA em

[twitter]ThomazYuji[/twitter]

marcusromanelli

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/10/05Posts: 2

Hehe xD

Muito bom pra deixar um code "legígel" pois muitas veses os programadores esqueçem disso e colocam tudo em 1 linha... ai

f*de XD

Vlw nostra ;)

_ferrari_

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 27/12/06Posts: 202

Muito bom, Nostradamus. Assim fica mais fácil de ler um script, não como aqueles onde tudo é bagunçado e nada é explicado. Também aconselho a usarem

--EXPLICAÇÃO no lado de cada item, pois assim fica muito, muito mais fácil.

Objetivos:
50 posts [x]
100 posts[x]
200 posts[x]
500 posts[x]
"Um post em um fórum deve como uma saia. Longa o suficiente para cobrir o assunto, porém curta o suficiente para manter as coisas interessantes"
Gosta de mim? Foi com minha cara? Quer me matar? Use:

Darksasuke

@andy_kun
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/01/07Posts: 98

Muito bom =D

Muito bom mesmooo.

Quem sabe agora consigo estruturar meus códigos =x