Ao ver alguns códigos postados aqui no fórum, ou em outros locais da Internet, sempre acho códigos que não são tão complexos assim, porém a forma com a qual o programador os fez torna quase impossível para alguém que não tenha acompanhado seu desenvolvimento entender de cara. Como isso ocorre principalmente com iniciantes, resolvi postar um tópico com algumas dicas que talvez ajudem outras pessoas a fazer códigos mais 'limpos' e melhores.
Agrupe variáveis:Não sei em outras linguagens, mas pelo menos em pascal, há uma forma muito boa de agrupar variáveis. Muitas vezes já vi códigos como
VarA: integer;
VarB: string;
varC: integer;
Tag: string;
Buffer: integer;
Isso é uma coisa horrível, pois além de vários tipos estarem embaraçados, estão ocupando um espaço desnecessário. Isso pode ser escrito dessa forma:
VarA, VarC, Buffer: integer;
VarB, Tag: string;
Dê nomes óbvios à variáveis:Continuando com as variáveis do exemplo anterior, podemos ainda melhorar isso. Não seria mais fácil nomear elas pela função delas? Assim, alguém que não está familiarizado com o código poderia compreendê-lo melhor:
Em vez de:
VarA, VarC, Buffer: integer;
VarB, Tag: string;
Coloque algo como:
Idade, CEP, Buffer: integer;
Encriptado, Tag: string;
Coloque o tipo das variáveis em seu nome:Para alguém que não conhece muito bem o código, é mais fácil cuidar das variáveis sabendo o tipo delas; então, em vez de
Idade, CEP, Buffer: integer;
Encriptado, Tag: string;
que tal usar
IntIdade, IntCEP, Buffer: integer;
StrEncriptado, Tag: string;
Algumas vezes, isso pode até parecer inútil, pois é óbvio que uma variável chamada Sobrenome não vai ser um integer. Mas mesmo assim isso vale, pois imagine se for um programador Finlandês? Ele não sabe o que Sobrenome quer dizer...
Isso também serve, nas linguagens orientadas à objeto, paras os objetos; ex. btnSave em vez de Salva
Buffer e Tag:Buffer e Tag são nomes de variáveis 'faz-tudo', que geralmente são usadas para guardar qualquer tipo de dado; resultado de operações matemáticas ainda não completas, por exemplo... Mas para isso ficar ainda mais organizado, utilize esse sistema:
Buffer é texto, e Tag é número.
Assim, de:
IntIdade, IntCEP, Buffer: integer;
StrEncriptado, Tag: string;
Iríamos para:
IntIdade, IntCEP, Tag: integer;
StrEncriptado, Buffer: string;
Torne o código sempre o mais internacional possível:Eu falei antes nesse tópico sobre um programador Finlandês lendo seu código. Para ele, variáveis em Português provavelmente seriam um problema. Tente colocar nome de variáveis, funções, propriedades e componentes sempre em Inglês, para facilitar o entendimento por um estrangeiro... Ficaria assim:
IntAge, IntZIP, Buffer: integer;
StrEncrypted, Tag: string;
Use hierarquia de comandos:Cansei de ver códigos como
program Programa;
uses
crt;
var
Tag: integer;
begin
Tag:=TimeToStr(Now);
writeln(Tag);
end.
Mesmo que esse código seja perfeitamente inteligível pela máquina, falha no quesito humano. Com alguns enters e espaços, podemos melhorar sensivelmente o código, fazendo ele ficar assim:
program Programa;
uses
crt;
var
Tag: integer;
begin
Tag := TimeToStr(Now);
writeln(Tag);
end.
Isso, em Pascal, pode não significar mada... Mas tenho certeza que um programador HTML preferiria
Pudim - www.pudim.com.br
www.pudim.com.br
do que
Pudim - www.pudim.com.br
www.pudim.com.brUse comentários:Fazer comentários é algo que todo programador deveria fazer. Para outra pessoa, ou para você mesmo, vendo o código depois de ter ficado muito tempo sem mexer com ele, comentários podem ajudar muito. Para fazer comentários, use:
Pascal/Delphi: // Comentário
Pascal/Delphi: (* Comentário *) ou { Comentário }
C/C++/C#: /* Comentário */
HTML, XML, SGML, MathML (A maioria dos ML):
LOGO: ;Comentário
DOS Bash (Arquivos *.bat): rem Comentário
Contribuição do colega peczenyj:
PERL/AWL/PHP/RUBY: #Comentário
Alguns Unix Shells: :Comentário
RUBY: =begin Comentário =end
Basic e variantes: 'Comentário
SQL/LUA: --Comentário
SQL: /* Comentário */
LUA: [[ Comentário ]] --Confirmem por favor
FORTRAN: c Comentário
FORTRAN: * Comentário
VHDL/LISP: ;Comentário
FOXPRO: * Comentário * ou * Comentário &
Use DOCTYPEDOCTYPE é uma tag das linguagens HTML e XHTML que ajuda o navegador, ou qualquer que seja o interpretador, a saber o tipo de codificação que ele está lendo, agilizando assim o processo de carregar a página.
É algo mais ou menos parecido com isso:
É sempre a primeira Tag do código. Para saber mais, entre em http://www.htmlhelp.com/tools/validator/doctype.html
Verifique seu códigoEssa é para os desenvolvedores Web: tente sempre fazer um código válido perante a W3C, www.w3.org, que é a instituição que 'regulamenta' a maioria das linguagens Web. Isso vai salvar seu tempo, pois o código vai ficar mais simples, o tempo do usuário, pois o código vai ficar mais rápido, o tempo do cara que quiser pegar uma função do seu código, pois ele vai ficar mais legível, enfim... ajuda todo mundo.
Não proteja seu códigoEm programação de Aplicativos, proteger o código é uma necessidade, pois você estará perdendo dinheiro caso alguém resolver vender seu software. Mas é besteira criptografar o código de uma página da Web, afinal, de dois a uma, se você não quer que roubem o conteúdo, não adianta, pois ele vai copiar o código encriptado e vai ficar na mesma. Além disso, o código vai ficar muito mais lento de ser processado, pois vai ter que descriptografar, e muito mais lento de ser baixado, pois é óbvio que
Teste de Cripto
é mais leve que
mesmo que no final dê no mesmo.
EscrevaAssimPara nomear variáveis, ou procedures, ou functions, ou objetos, ou de fato qualquer coisa, sempre EscrevaAssim. Motivo: simples; é mais fácil entender "EssaEUmNomeGrande" do que "ESSEEUMNOMEGRANDE" ou "esseeumnomegrande".
Espero ter ajudado com essa pequena contribuição. Vou sempre ir postando outras dicas, assim que eu as pensar, ou assim que o povo falar elas, para tornar os códigos da galera cada vez mais 'bonitos'.