Quais são as melhores práticas em OOP?
Olá,
meu melhor resposta à sua pergunta seria dar-lhe uma lista de más práticas – o que você não deve o &'; t fazer:
piores práticas
Este post enumera algumas das piores práticas que você terá que ser cuidadosa NÃO USAR
Na categoria de. “ nem sequer pensa em fazer isso &"; Aqui estão alguns exemplos ruins de código encontrado:
método localizador retorna Object
Problema: Dependendo do número de ocorrências encontrou o método localizador retorna um número que representa o número de ocorrências – ou! Se apenas um encontrado retorna o objeto real
Don &';. T fazer isso! Esta é uma das piores práticas de codificação e introduz ambiguidade e mexe o código de uma forma que quando um desenvolvedor diferente entra em jogo, ele ou ela vai odiar você para fazer isso
Solução:. Se houver &'; sa necessidade 2 para tais funcionalidades: contagem e buscar criar uma instância fazer 2 métodos aquele que retorna a contagem e uma que retorna a instância, mas nunca um único método de fazer ambas as maneiras
Problema:. A prática ruim é quando um derivado método localizador retorna a uma única ocorrência encontrados tanto uma matriz de ocorrências se mais de uma encontrados. Este estilo de programação preguiçoso é feito um monte pelos programadores que fazem o anterior em geral
Solução:. Tendo isso em minhas mãos eu iria retornar um array de comprimento 1 (um) se apenas uma ocorrência é encontrada e um matriz com comprimento > 1 se mais ocorrências encontradas. Além disso, encontrar nenhuma ocorrência em tudo iria retornar nulo ou uma matriz de comprimento 0, dependendo da aplicação
Programação para uma interface e usar tipos de retorno covariant
Problema:. Programação para uma interface e usando covariant tipos de retorno e lançando no código de chamada
Solução:. Use vez o mesmo supertipo definido na interface para definir a variável que deve apontar para o valor retornado. Isso mantém a programação para uma abordagem interface e seu código limpo.
As classes com mais de 1000 linhas são um perigo à espreita
Métodos com mais de 100 linhas são um perigo à espreita também!
Problema: Alguns desenvolvedores encher demais funcionalidade em uma classe /método, sendo preguiçoso demais para quebrar a funcionalidade – isso leva a baixa coesão e talvez a alta de acoplamento – ! o inverso de um princípio muito importante em OOP
Solução: Evite usar muito interiores /aninhada aulas – Essas classes são para ser usado somente em uma base por necessidade, você don &'; t tem que fazer um hábito de usá-los! Usá-los poderia levar a mais problemas como limitando herança. Procura de código duplicado! O código iguais ou muito semelhantes já poderia existir em alguns implementação supertipo ou talvez em outra classe. Se ele &'; s em outra classe que não é um supertipo você também violou a regra de coesão. Cuidado com os métodos estáticos – talvez você precise de uma classe de utilitário para adicionar
Métodos ter menos parâmetros ou não são
melhor
Problema: programadores preguiçosos adicionar mais um parâmetro em vez de sobrecarregar um método ou apenas criar outro método diferente para uma funcionalidade mais complexa
Solução:. Recorde delegação pode também ser utilizado em métodos in mesma classe não só em métodos em diferentes classes. It &'; s melhor para sobrecarregar uma classe que tem o parâmetro e delegados a mesma funcionalidade a um método já existente em vez de adicionar um parâmetro extra para um método ou – fazer um método diferente se que &'; s o caso
programadores impertinentes usar o reflexo para acessar bens não acessíveis
Problema:. Como você sabe, usando a reflexão permite que você acessar campos não-acessíveis e /ou métodos e há uma classe de desenvolvedores que usam o que mais do que em um caso excepcional única
Solução:. Pare de fazer isso! Os modificadores foram colocados lá por um motivo, don &'; t tentar usar a travessia api sobre os limites fixados pelos desenvolvedores originais, uma vez que foram colocados lá por uma razão e que &';. Não é seu trabalho para fazer deles
Faça uso de genéricos. Don &'; t criar um ensopado em vez de algum código
Problema:. Saia usando não-tipo de expressão segura, pare de inserção cogumelos junto com pássaros e vinho porque você &'; re não suposto para criar um prato especial para o jantar, mas um código bem escrito
Solução: Use genéricos –. eles são um nível de segurança em vantagem para escrever bom código limpo. Eles vão ser retirados após o processo de compilação, por isso não há sobrecarga de desempenho.
Usar coleções em vez de matrizes nuas ou estruturas de dados feitas sob encomenda. Don &'; t reinventar a roda
Problema: Alguns desenvolvedores como reinventar a roda.. . Há &'; s nada de errado em amar para criar, mas não &'; sa fina linha entre criação e re-criação apenas por uma questão de criação
Solução: Em vez de usar matrizes você pode usar classes de coleções especializadas que se especializaram algoritmos para a vária precisa: triagem, inserção, filas, análise etc. Ele poupa o tempo de re-implementá-las, eles já são testados e comprovada para o trabalho sem problemas e eles são baseados em algoritmos bem conhecidos para melhor desempenho. Não reescrever suas implementações pessoais apenas se você estiver estritamente obrigados por seus requisitos de aplicativo e não &'; s nenhuma implementação já existente na api
Mais na
http://centraladvisor.com
B /Tablet. .
aprendizagem acelerada
- Exame & Estresse Parental Drives alunos a bebida & Auto-mutilação - Descubra como banir …
- Critérios de Elegibilidade e Sugestões para CAT Exame 2015
- Usando técnicas subliminares para acelerar seus Poderes Aprendizagem
- É CodeIgniter é a melhor solução para o desenvolvedor PHP?
- Honrando Wingmen do nosso país no dia dos veteranos
- Como motivar os alunos na sala de aula
- Os benefícios do Coaching: Seu Aceleração do Crescimento
- Como posso melhorar o meu Inglês? Um segredo chato que ajuda imensamente
- Tecnologia de ondas cerebrais para o uso diário.
- Dicas de estudo a jurar por: Objetivo Orientação, hora não Orientação
- TESTEMUNHO. Workshops de Liderança
- Como definir uma conclusão?
- Dobre sua influência para convencer?
- Obter solução do seu problema de matemática apenas com um clique em Estatísticas Ajuda
- As escolas particulares ou públicas, um dilema real
- Obteve auto-ilusão?
- Ajuda para Anger Management
- Verdadeiro ou Falso melhorar a sua memória de longo prazo
- Escrevendo um Papers Tecnologia Acadêmicos
- Nova Pesquisa Científica: Os crentes fazem menos erros