Como posso aprender a escrever programas bem estruturados em Perl? [fechadas]

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

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu comecei a aprender Perl, mas a maioria da minha experiência anterior de programação tem sido em idiomas que enfatizam a Programação Orientada a Objetos como C # e Java. Todos os exemplos de Perl que tenho encontrado tendem a ser programas de função longa individuais e I encontrar meu código de auto escrito da mesma maneira. Existem recursos ou tutoriais para escrever programas bem estruturados sustentáveis?

Foi útil?

Solução

Em primeiro lugar, independentemente de que tipo de Perl programação que está fazendo, você provavelmente encontrará Perl :: Critic para ser inestimável. A ferramenta de linha de comando é de longe o mais conveniente para obter feedback sobre o seu código, mas você também há um web interface de onde você pode enviar seu código Perl e receber instante, o feedback automatizado. Note-se que Perl :: Critic não vai ensinar-lhe boa Estrutura , mas vai ajudar a melhorar a sua estilo em geral, e dirigi-lo longe de alguns erros comuns.

Para ir com Perl :: Critic, eu recomendaria começar uma cópia do Perl Best Practices (PBP). Ele contém uma grande quantidade de informações detalhadas sobre a qual Perl :: Critic foi baseado. Mesmo se você não concordar com as diretrizes determinadas no livro, ele faz você pensar sobre como você código, e isso é muito, muito valioso. Você não tem que desembolsar dinheiro para um livro, mas os dois se complementam muito bem, e há longas discussões que você encontrará no PBP que você não vai começar a partir de Perl :: Critic.

Se você já trabalhou com outras linguagens OO e design OO, o que você provavelmente vai encontrar Moose para ser uma transição confortável. Moose é muito estável, muito bem suportada, e tem uma comunidade enorme e activo (especialmente via IRC). substituta alces quase todos os actuais conselhos OO Perl lá fora, incluindo o meu. Objeto projeto orientado é comum para uma razão; faz sentido para um monte de projetos, e não há nenhuma razão não para usá-lo em Perl.

Pessoalmente, eu encontrei uma enorme melhoria na minha própria estrutura do programa quando me mudei para um modelo de desenvolvimento orientado a testes. Sob esse modelo, quebrando um baixo problema em unidades pequenas e facilmente testados é essencial. Comece com Test :: Tutorial Se você é novo para testes em Perl e, em seguida, olhar em algum outro testando recursos ou livros se você quiser aprender mais. Use uma ferramenta como Devel :: Tampa ou Devel :: NYTProf para ver o que seus casos de teste estão batendo e o que não são. Tendo código que é difícil de teste é frequentemente um sinal de estrutura pobre.

Dito tudo isto, o melhor professor, de longe, é de se envolver com um projeto Perl existente com colaboradores experientes. Veja como eles fazem as coisas, e quando você faz contribuições, pense sobre os seus conselhos. Se você quiser um aplicativo real com incríveis valor legal que parece ter sugado o melhor e mais brilhantes da comunidade Perl, então eu recomendo se envolver com Padre, o Perl editor .

Se (por qualquer motivo) você não pode se envolver com outro projeto, então considerar exemplos de código postagem para comunidades como estouro de pilha, ou PerlMonks . Melhor ainda, se você pode fazer a sua fonte de código aberto, em seguida, fazê-lo, e feedback solicit. Todas as linguagens de programação são melhor aprendidas com outras pessoas que já estão familiarizados com eles, e Perl é nenhuma exceção aqui.

Maio você faz boa magia com Perl,

Paul

Outras dicas

Se você está aprendendo OO Perl assim como você pode passar para a próxima grande coisa e começar a aprender Moose .

Moose é um sistema objeto pós-moderno para Perl 5 que leva o tédio de escrever Perl orientado a objetos. Ele empresta todas as melhores características do Perl 6, CLOS ( Lisp ), Smalltalk , Java, BETA , OCaml , ruby ??e mais, enquanto ainda mantém fiel às suas Perl 5 raízes.

Moose é 100% a produção pronta e em uso pesado em uma série de sistemas e crescendo a cada dia.

Se você já sabe como escrever programas bem estruturados e você quer escrever bem estruturado Perl, mas o único impedimento para que é a abundância de, exemplos intrincada, espaguete-código antigas que estão espalhadas em torno da rede e lixo para morrer ...

Ignorar os exemplos. Ou pelo menos ignorar sua estrutura pobre e só prestar atenção aos pequenos pedaços sintáticas que você precisa para aprender.

Não há nada em Perl que empurra você para escrever código ruim. Se você já sabe como escrever um bom código em outros idiomas, então você pode aplicar o exato mesmos princípios e práticas em Perl. É apenas uma questão de disciplina, assim como em qualquer outra língua.

Se você acha que já está aprendendo o básico e quer melhorar a estrutura do programa, então eu sugiro que estes livros, provavelmente melhor para ler na seguinte ordem:

  • Intermediate Perl - este é provavelmente o lugar para começar para o que você está perguntando sobre; tampas que desenvolvem e utilizam módulos Perl (essenciais para uma boa estrutura), referências, estruturas de dados complexas, OO, e mais

  • Perl Medic: Transforming Legacy Code - demonstra bem estruturada Perl, mostrando como corrigir mal-estruturado Perl

  • Effective Perl Programming: Escrita melhores programas com Perl - um clássico, mas ainda útil; cheio de expressões idiomáticas Perl que vai ajudá-lo a escrever mais Perl-ish Perl; não muito em OO, mas cobre mais fundamental de codificação estruturas para tornar o código mais sucinto e ainda mais expressivo. Penso nisso como o livro que me recebeu de Perl alfabetização para Perl fluência

Todos os três são melhor uma vez que você confortável com sintaxe básica Perl, mas nenhum deles chegar muito longe em conceitos avançados esotéricos que você não pode seguir se você ainda está começando no Perl, mas têm experiência em programação razoável na outra línguas já.

Além das fontes mencionadas acima, recomendo vivamente o livro "Higher-Order Perl" por Mark Jason Dominus. Se você pode pagar comprá-lo, caso contrário, o autor colocou o livro em seu Web site para livre como em cerveja livre, Free ordem superior Perl . Para a versão PDF:. URL de download direto (1.9 MB)

Editar:

Eu esqueci de mencionar padrões Perl projeto. A PerlDesignPatterns local é um recurso muito bom ou referência para aprender padrões de projeto Perl.

Pessoalmente, eu não escrever um bom OO Perl até que eu comecei a aprender Java. Eu recomendo que você gasta uma pequena quantidade de OO tempo de aprendizagem em uma linguagem OO verdadeiro e aplicar o que aprendeu para Perl.

Para um lugar para ser mentor, PerlMonks é grande.

Write Perl a maneira como você iria escrever C, embora você deve tirar partido de algumas coisas começam blocos e módulos. Ele deve ser formatado de modo que parece mais ou menos como estilo antigo código de K & R C.

Como para a estrutura, pule o material OO e estilo-lo como ADTs em vez disso:

http://en.wikipedia.org/wiki/Abstract_data_type

Basicamente você fazer isso usando-estruturas de dados onde você teria usado objetos em OO (e separar os algoritmos em suas próprias funções).

Em seguida, escolher apenas uma maneira de fazer as coisas e cumpri-lo, a consistência é vital para a legibilidade.

Se você conseguir isso, o código pode ser tanto legível e de fácil compreensão.

Paul.

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