Ir para conteúdo

Boas Práticas Para Programar


Posts Recomendados

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.

Editado por MaXwEllDeN
Link para o comentário
Compartilhar em outros sites

Opa, gostei muito do seu tutorial amigo, só tenho uma dúvida os créditos são seu ou do autor do Livro? REP+ como incentivo para continuar trazendo conteudos otimos como esse para o XTibia, abraços.

Editado por Beeki
Link para o comentário
Compartilhar em outros sites

muito boa as dicas, algumas eu ja seguia , outras eu ja sabia, porem tinha esquecido.

rep +

Editado por renansmith
Link para o comentário
Compartilhar em outros sites

@Beeki

Os Irmãos Deitel claro que têm sua parte dos créditos, porém essas dias já eram conhecidas por muitas pessoas, então não creio que eles tenham sido os primeiros a divulgá-las.

Editado por MaXwEllDeN
Link para o comentário
Compartilhar em outros sites

  • 8 months later...

Por favor alguém coloca meu tutorial na área de scripting novamente, creio que aqui ele não tem muita utilidade, visto que o tutorial visa mais scriptwriting em Lua, algumas coisas podem ser aproveitadas para outras linguagens, mas, ele foi feito especificamente para Lua, movam por favor.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...