[Cascavel-pm] Qual é a melhor maneira de programar e/ou modelar um código em Perl?

André Garcia Carneiro andre.garcia.carneir em terra.com.br
Quarta Março 28 07:03:27 PDT 2007


> Bom dia, Caros Amigos em Perl Mongers,

Bom dia!

> Eu gostaria de escutar a opinião de vocês a respeito de:

Escutar vai ser difícil .... :p


> Perguntas:
> Qual é a melhor maneira de programar e/ou modelar um código em Perl estruturado?

A melhor maneira é a maneira que você se sente confortável em escrever e, ao mesmo tempo, a maneira que as
pessoas sintam facilidade em entender o que você escreveu. Existem sugestões, no caso de Perl, é melhor você ler:


www.oreilly.com/catalog/perlbp/


Sendo sincero, eu também preciso desse livro :-D


> Como deve ser uma ideal método de programação, modelagem e
> implementação de script em Perl estruturado, comparando o exemplo
> abaixo?
> Existe alguma ferramenta específica (Design Patterns), para fazer um
> projeto visual do código estruturado em Perl?

Design Patterns eu não sei, mas tem um troço que eu vi na faculdade e nunca vi ninguém usar aqui fora... a
sigla do treco é DFD   (Diagrama de Fluxo de Dados), na minha opinião humilde, dificilmente vc vai usar.

Você pode usar um bom e velho Fluxograma. Mas com certeza alguém por aqui deve ter uma idéia melhor, não?

> Pelos meus poucos conhecimentos de autodidata, montei esta estrutura
> básica que segue abaixo para ser corrigida por vocês:
> # Sugestão de script em Perl estruturado...
> 
> # 1) Declaração do compilador, bibliotecas, módulos e variáveis...
> #!/usr/bin/perl
> use strict;
> use warnings;
> etc...
> 
> # 2) Funções essenciais e operacionais como exemplo: Salvar; Excluir,
> Mover; Enviar... sub salvar { etc... }
> sub excluir { etc... }
> sub mover { etc... }
> sub enviar { etc... }
> sub datas {etc... }
> etc...
> 
> # 3) Funções de saídas e resultados do sistema como exemplo:
> Relatórios; Formulários; Interfaces em geral...
> 
> sub resultados { etc... }
> sub interfaces { etc... }
> sub avisos { etc... }
> 
> # 4) Funções de encerramento de seções e banco de dados, como exemplo:
> Sair; Finalizar; Salvar configurações...
> sub finalizar { etc... }
> sub sair { etc... }
> 

Você se sente confortável com isso? Tá fácil de visualizar, e principalmente, de fazer manutenção? Se as
respostas forem sim para as duas perguntas, então você pode usar isso sim, por que não?

Mas aconselho a você 'ampliar seus horizontes', como se diz. Existem muitos frameworks de desenvolvimento por
aí. Um bem interessante que já falamos por aqui é o MVC(esse é um design pattern). Ele é aplicado
principalmente em desenvolvimento para a web, mas não necessariamente.


> Amigos eu quero sugestões, que devem ser vistas no ponto de vista
> generalizado mesmo, para todo tipo de interface sem TT ou algo muito
> moderno, de preferência bem simples, só conceitos básicos, sem
> orientação a objetos por enquanto, acredito eu, que na engenharia de
> sistemas deve existir uma forma conceitual mais elegante possível!

Sinto dizer, meu caro, que orientação à objetos veio para ficar. E garanto que mais cedo ou mais tarde você vai
ter que lutar e dominar esse 'monstrinho', que na verdade não é tão monstro assim(não que eu já o tenha
dominado...).


Mais metodologias de desenvolvimento? Você pode dar uma olhada em Extreme Programing;

www.extremeprogramming.org

É... é em inglês sim, sinto muito!!!!  



> Amigos se forem indicar referências bibliográficas, indicarem as
> mesmas em português brasileiro.

Sinto dizer novamente que isso na nossa área é um fator preocupante, no sentido de que em nosso país a tradução
de livros técnicos, principalmente na área de informática não é levado à sério. Meu conselho para você é
APRENDA INGLÊS!!! 

Cheers!

--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



Mais detalhes sobre a lista de discussão Cascavel-pm