Como podemos obter codificadores para procurar funções existentes antes de escrever o seu próprio?

StackOverflow https://stackoverflow.com/questions/643248

  •  22-07-2019
  •  | 
  •  

Pergunta

Por que tantas pessoas ainda escrever versões de baixa qualidade de coisas em bibliotecas padrão? Não ir atrás de desenvolvedores PHP, mas caras vão ler a PHP SPL

Foi útil?

Solução

Melhores técnicas de pesquisa. e Domain Specific Familiaridade

Como é que um cheque desenvolvedor para uma função que não sei o nome de? Ou talvez lá não é um exato construído em função de fazer o que eles querem, mas algo que pode usar para salvar um monte de código. Você precisa ser capaz de encontrar a terminologia correta para o problema em questão, e de lá você sabe o que procurar. Isto é melhor conseguido se lendo temas específicos para o seu domínio do problema. Afaste-se de codificação de recursos específicos e passar algum tempo no campo que você está codificando para ... se seja varejo, médico, seguro, etc.

Outras dicas

A revisão por pares pode ajudar a capturar esse tipo de coisa. Se você tem um outro desenvolvedor olhando para o código, e eles continuamente encontrar implementações de métodos de biblioteca padrão, ele deve falhar a revisão a menos que haja uma boa razão para reinventar a roda.

Young, programadores ambiciosos gostaria de resolver todos os problemas por conta própria. Eles não precisam de nenhuma biblioteca stinkin. Mais velhos, programadores preguiçosos preferem procurar soluções para o problema existente na mão.

Portanto, meu conselho:. Da próxima vez que contratar um programador, escolha o velho que adormece na área de recepção

Apenas brincadeira, principalmente. revisão por pares e educação é a resposta.

Resumo: Assunção é a mãe de todas as FUBARs

Eu vejo muito isso dos colegas que não estão familiarizados com o conceito de quadros (deus como eles queixam-se "duas línguas em um"), a saber: caras velhos C ++ repente confrontados com C # mergulho na cabeça primeiro a hashtables Recriar de zero ...

É evidente que uma grande parte deste fenômeno a partir desse ângulo não está saindo de mentalidades e hábitos antigos. Se você está em um novo ambiente que você precisa para aprender as novas regras. A única maneira de lidar com isso do lado de fora olhando para dentro é para fornecer treinamento, se isso é par-programação por um tempo ou algo mais formal.

A falta de familiaridade com suas ferramentas gera o desprezo dos outros.

Um estilo de codificação de documentos podem ajudar, lembrando os devs que há bibliotecas disponíveis simples (talvez listar algumas preferido) e que eles devem estar familiarizados com eles.

Às vezes, você só tem que lembrar as pessoas.

A revisão por pares ajudaria.

PHP é bem documentado se e somente se, você sabe exatamente o que você está procurando. Por exemplo, você abriria Arrays e funções de matriz seções para ver o que você pode fazer com matrizes. E adivinhem, não há sequer menção de SPL.

Você também deve incentivar a investigação antes de realmente de partir para escrever código. Eu costumo abordar os problemas de pensamento sobre uma maneira de fazer isso, então eu tento encontrar qualquer coisa na biblioteca padrão ou quaisquer outras bibliotecas que vai me ajudar. Eu diria que uma hora de pesquisa em alguns casos pode valer dias de codificação.

Se as pessoas não estão fazendo isso, pode ser uma boa idéia ter alguém fazer-lhes perguntas sobre a sua abordagem geral para o problema e quais as funções de biblioteca / classes que estão pensando em usar. Se eles estão faltando alguma coisa óbvia, sugerir isso a eles.

Duas razões pop à mente rapidamente. Primeiro, a Standard PHP Library não é bem conhecida, e sofre de documentação pobre. O site php.net é amplamente considerado o melhor trunfo da linguagem, mas uma grande parte do mais recente construído em classes (como a SPL, reflexão API, DomDocument, etc.) são pouco mais do que uma lista de métodos sem muito contexto.

Mais importante, porém, parece que o SPL Completo nunca enviado por padrão com qualquer versão do PHP anteriores à (unreleased) 5.3. Este é um assassino, tanto quanto a adoção vai. Normalmente as pessoas que escrevem código PHP não tem controle sobre o que é cumprido em seu binário PHP. Isso é tratado pelo seu web-host e / ou equipe de operações, e os anfitriões web e / ou equipes de operações têm objetivos diferentes do que um desenvolvedor e não está indo para instalar cada extensão opcional que vem. Isto significa também projetos como Drupal, Joomla, Wordpress, etc, não podem contar com a SPL sendo instalado em todos os lugares, para que eles não usá-lo.

Parte do PHP razão "venceu" sobre perl havia uma única instalação tinha tudo que precisava. extensões opcionais nunca se tornou amplamente adotado até que se tornaram parte da base de instalação.

Uma pergunta muito difícil de responder. Obviamente revisão pelos pares ajuda, mas também a documentação adequada. Fazer seus projetos têm especificações técnicas, onde você mapear as classes e intefaces a ser criado?

Se assim for, alguém na equipe deve rever as especificações e apontar onde código existente poderia ser usado ...

Concordo com treinamento e revisão por pares, mas também aplicar o teste de unidade e documentação de código deve ajudar com a NIH síndrome:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top