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

  1. Exame & Estresse Parental Drives alunos a bebida & Auto-mutilação - Descubra como banir …
  2. Critérios de Elegibilidade e Sugestões para CAT Exame 2015
  3. Usando técnicas subliminares para acelerar seus Poderes Aprendizagem
  4. É CodeIgniter é a melhor solução para o desenvolvedor PHP?
  5. Honrando Wingmen do nosso país no dia dos veteranos
  6. Como motivar os alunos na sala de aula
  7. Os benefícios do Coaching: Seu Aceleração do Crescimento
  8. Como posso melhorar o meu Inglês? Um segredo chato que ajuda imensamente
  9. Tecnologia de ondas cerebrais para o uso diário.
  10. Dicas de estudo a jurar por: Objetivo Orientação, hora não Orientação
  11. TESTEMUNHO. Workshops de Liderança
  12. Como definir uma conclusão?
  13. Dobre sua influência para convencer?
  14. Obter solução do seu problema de matemática apenas com um clique em Estatísticas Ajuda
  15. As escolas particulares ou públicas, um dilema real
  16. Obteve auto-ilusão?
  17. Ajuda para Anger Management
  18. Verdadeiro ou Falso melhorar a sua memória de longo prazo
  19. Escrevendo um Papers Tecnologia Acadêmicos
  20. Nova Pesquisa Científica: Os crentes fazem menos erros