Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Olá Galera, hoje vou postar um tutorial que ensina você a deixar seu código mais bonito, legível e organizado. Vamos lá.

Em primeiro lugar vamos aprender oque é indentação ou identação.

Identação ou Indentação é básicamente a organização de um código, usando tabulações e organizando os blocos de um código por tabulações diferentes.

Exemplo de um código com indentação:


function doPlayerCompleteQuest(uid, quest)


   doPlayerAddItem(uid, quest[1], quest[2])  

   setPlayerStorageValue(uid, quest[3], 1)  

   doTeleportThing(uid, getTownPosition(getPlayerTown(uid)))

   doPlayerSendTextMessage(uid, 27, "Você completou a quest ".. quest[4] ..".")


   if (getPlayerStorageValue(uid, quest[5]) > 0) then

	  doPlayerSendTextMessage(uid, 27, "E recebeu um bônus por ter completado outra quest.")  

   end  


   return true

end

Este mesmo código, mas agora sem indentação:

function doPlayerCompleteQuest(uid,quest)

doPlayerAddItem(uid,quest[1],quest[2])  

setPlayerStorageValue(uid,quest[3],1)  

doTeleportThing(uid,getTownPosition(getPlayerTown(uid)))

doPlayerSendTextMessage(uid,27,"Você completou a quest "..quest[4]..".")

if (getPlayerStorageValue(uid,quest[5])>0) then

doPlayerSendTextMessage(uid,27,"E recebeu um bônus por ter completado outra quest.")  

end		

return true

end

Um código com indentação, a primeira vista pode não ser nada de mais. Porém se você fizer um código grande, com muitas funções, condições e declarações, uma boa indentação deixa seu código muito mais fácil de ser lido por outros programadores e até por você mesmo e ser modificado também. Enquanto eu lia um livro sobre C++, encontrei uma lista de algumas boas práticas para programar que eu já conhecia e outras que aprendí. Listarei algumas delas aqui.
Escreva seus códigos de uma maneira simples e direta. Isto é, às vezes chamado de KIS (“mantenha-o simples” - Keep It Simple). Não “force” a linguagem usando códigos grandes quando poderia ser feito de um modo pequeno. Por exemplo, um código poderia ser feito desse modo:

function addLifeWithInterval(uid, life, interval)


   function add()	  

	  if (isCreature(uid)) then

		 doCreatureAddHealth(uid, life)		

	  end	  

   end


   add()

   addEvent(add, 2*interval)

   addEvent(add, 3*interval)

   addEvent(add, 4*interval)

   addEvent(add, 5*interval)

   addEvent(add, 6*interval)

   addEvent(add, 7*interval)	  

   addEvent(add, 8*interval)

   addEvent(add, 9*interval)

   addEvent(add, 10*interval)

   addEvent(add, 11*interval)

   addEvent(add, 12*interval)

   addEvent(add, 13*interval)

   addEvent(add, 14*interval)

   addEvent(add, 15*interval)

   addEvent(add, 16*interval)

   addEvent(add, 17*interval)

   addEvent(add, 18*interval)

   addEvent(add, 19*interval)

   return true

end

Quando poderia ser feito usando menos linhas, desse outro modo:

function addLifeWithInterval(uid, life, interval)


   function add()

	  if (isCreature(uid)) then

		 doCreatureAddHealth(uid, life)		

	  end

   end


   add()


   for a = 1, 19 do

	  addEvent(add, a*interval)

   end


   return true

end

Leia os manuais para a versão de LUA que você está usando. Consulte estes manuais com freqüência, para certificar-se de que esteja ciente da rica relação de recursos que LUA apresenta e de que está usando estes recursos corretamente.
Recue o corpo inteiro de cada função um nível de indentação nas marcas de tabulação que definem o corpo da função. Isto faz com que a estrutura funcional de um programa se destaque e ajuda a tornar os programas mais fáceis de ler.
Estabeleça uma convenção para o tamanho dos recuos de indentação que você prefere; então, aplique uniformemente essa convenção. A tecla de tabulação pode ser usada para criar recuos, mas pontos de tabulação podem variar Recomendamos usar espaços entre tabulações de 1/4 de polegada ou (preferível) três espaços para criar o recuo para um nível de indentação.
Alguns programadores preferem declarar cada variável em uma linha separada. Este formato permite a fácil inserção de um comentário descritivo após cada declaração.
Coloque um espaço após cada vírgula ( , ) para tornar os programas mais legíveis.
Escolher nomes de variáveis significativos ajuda um programa a ser “autodocumentado “, isto é, torna mais fácil de entender o programa simplesmente lendo-o, em vez de ter que ler manuais ou usar comentários em excesso.
Sempre coloque uma linha em branco entre uma declaração e comandos executáveis adjacentes. Isto faz com que as declarações se destaquem no programa, contribuindo para a clareza do mesmo.
Se você preferir colocar declarações no início de uma função, separe essas declarações dos comandos executáveis da função com uma linha em branco, para destacar onde as declarações terminam e os comandos executáveis começam.
Coloque espaços dos dois lados de um operador binário. Isto faz com que o operador se destaque, tornando o programa mais legível. Exemplo:

   print(1 + 1)

Como na álgebra, é aceitável se colocar parênteses desnecessários em uma expressão para torná-la mais clara. Estes parênteses são chamados de redundantes. Parênteses redundantes são usados comumente para agrupar subexpressões de uma expressão grande, para tornar a expressão mais clara. Quebrar um comando longo em uma seqüência de comandos mais curtos e mais simples também aumenta a clareza.
Indente o comando que compõe o corpo de uma estrutura if para fazer com que o corpo da estrutura se destaque, melhorando desta forma a legibilidade.
Em um código não deve haver mais que um comando por linha. Exemplo:

function addLifeWithInterval(uid, life, interval)


   function add()

	  if (isCreature(uid)) then doCreatureAddHealth(uid, life) end

   end


   add()


   for a = 1, 19 do addEvent(add, a*interval)end


   return true end

Para tabelas com muitos parâmetros tecle enter e dê um "tab". Exemplo:

config = {

  life = {max = 150, min = 250},

  vocations = {1, 2, 3, 4},

  premmy = true,

  levelmin = 150,

  flags = {

	["blue"] = {pos = {x = 160, y = 54, z = 7}, flagid = 2175},

	["red"] = {pos = {x = 220, y = 75, z = 7}, flagid = 2170},	

  }

}

Sempre que puder use variáveis locais, isso garante que não haja nenhum conflito com outros scripts.

Bem, com essas dicas ai eu acho que muitas pessoas podem melhorar o estilo de programar biggrin.gif, Falous galera.

Abraço.

OBS: A maioria das dicas listadas aqui foram tiradas do Livro: Deitel - Como Programar C++ 5ª Edição

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

  • Respostas 5
  • Visualizações 2.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Obrigado, é realmente a minha intenção ao criar esse tópico foi inspirar a galera para criar os códigos com uma beleza não só na execução mas também no código em sí para ser lído, o que eu mais ví em

Postado
  • Administrador

Cara, belo tópico, muito bem organizado e conteúdo impecável.

Como o Vittu já disse, bem-vindo ao fórum, espero que goste de sua estadia! ;)

TibiaKing Team- KingTópicos
www.tibiaking.com

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo