Hyphen, CamelCase, or Underscore ?
Não importa, mantenha um padrão;
Se não existir um padrão, converse com os outros programadores para definirem juntos qual será o padrão;
Se existir um projeto que não tem mais os programadores,
agora o projeto é seu, se tiver paciência, migre para o seu padrão;
De preferencia a grande quantidade de arquivos do que grande quantidade de linhas;
get/ set or public?
“afinal, o que são get e set além de um jeito mais lento de fazer um atributo público?”
Concordo bastante com isso.
get /set por get /set é igual a um public XD
E não ligo para “cada objeto cuida de si próprio “, não quando o assunto e get/set…
Acho mais adequado quando precisamos de algo mais especifico, como: deixar uma variável apenas como “readonly” (‘get’) ou usar o ‘set’ quando precisamos de alguma logica ao atribuir um valor.
OO mal programado pode virar algo muito Procedural .
Enchendo o código com o famoso “Bad Smell”…você pode conseguir isso facilmente; =D
Orientação a objeto, a template, a domínio, a aspecto, a lua, ao sol, whatever….
Não ligo, desde que as coisas sejam coerentes.
Mas se a equipe falar o mesmo que o domínio
acho que flui melhor (serve tanto para os códigos quanto para o projeto)
Minhas manias:
variável usando get ou set começãndo com underscore = _variable;
variável que representa um objeto, coloco as duas primeiras letras para identificar este objeto = ComboBox = cbVariable;
constante sempre com letras maiúsculas e com underscore = CONST_VARIABLE;
Métodos privados = primeira letra maiúscula = Function();
Métodos públicos = primeira letra minuscula = function();
Parâmetros de um método, sempre coloco um simbolo
para diferenciar eta variável das demais no meio do escopo, no meu caso uso ‘$’ = function($param1, $param2);
Levo em consideração o nome do pai, tentando exemplificar:
Uma roda que tem como pai um objeto com o nome Carro,
não coloco o nome da roda de roda_carro ou carro_roda,
e apenas de -> roda,
para que no código fique -> Carro.roda
é não Carro. roda_carro ou Carro. carro_roda;
If()
{
}
else
{
}
Acho que facilita a legibilidade desta forma;
Dica rápida 1:
function MeuMetodo($dias:Array, $armas:Array):void
{
trace(“@MinhaClasse:: MeuMetodo {“)
const LENGTH_DIAS:uint = $dias.length
var personagemAtual:Object;
var i:uint;
for (i=0; i< LENGTH_DIAS ; i++)
{
personagemAtual = $armas[i];
trace(“Arma =”, personagemAtual.arma,” Cor =”, personagemAtual.cor);
}
trace(“@MinhaClasse:: MeuMetodo }”);
}
p.: Codigo em pt é as3.
Um exemplo de um ‘for’ que poucas programadores usam:
‘length’ fora do ‘for’,
declaração da variável fora do ‘for’,
uma constante para o que não vai mudar,
um objeto para não ficar indo toda vez dentro de uma matriz para acessar a propriedade de um objeto;
E a mania que ajuda a debugar
é ‘printar’ o nome da classe concatenado com o método no inicio e no final da lógica, mas só quando for necessário;
Dica rápida 2:
Inicializar uma variável no escopo da classe ou dentro do construtor faz alguma diferença para o JIT.
Dica rápida 3:
Use e abuse de ‘interface’;
Liks relacionados:
Boas Práticas de Programação