[SP-pm] Sugestão para melhorar código

Solli Honorio shonorio at gmail.com
Wed Sep 29 18:22:05 PDT 2010


Cara,

Dê uma olhada no App::Rad (
http://search.cpan.org/~garu/App-Rad-1.04/lib/App/Rad.pm).

Solli M. Honorio

Em 29 de setembro de 2010 20:12, "Flávio R. Lopes" <
flavio.lopes em links.inf.br> escreveu:

> Obrigado Nelson.
> Estarei estudando suas sugestões sim e vou ver no CPAN como funciona o
> Getopt::Long, pois até então não conhecia este módulo.
>
> abraço,
> Flávio
>
>
>
>
> Em 29-09-2010 19:33, Nelson Ferraz escreveu:
>
>  2010/9/29 "Flávio R. Lopes"<flavio.lopes em links.inf.br>:
>>
>>
>>> Olá pessoal.
>>>
>>> Fiz um programa que gera um backup dos diretórios informados pelo usuário
>>> e
>>> ainda criptografa o arquivo gerado.
>>> Gostaria que se possível vocês dessem uma olhada no código e me dessem
>>> sugestões para enxugar mais ou mesmo otimizá-lo.
>>> Quando digo "enxugar" e "otimizar" gostaria de sugestões, pois na verdade
>>> vocês poderiam escrever de outra forma que eu não tenha enxergado, para
>>> que
>>> eu possa ver outras formas de se escrever.
>>>
>>> Aqui segue ele: http://gist.github.com/603556
>>>
>>> Acho que a maior parte das funcionalidades para qual escrevi ele estariam
>>> prontas. O que ainda farei é dar a opção (STDIN) para que o usuário possa
>>> informar a senha, diretórios de origem, diretório de destino, nome do
>>> backup
>>> e tipo de compressão sem ter que ficar editando o código.
>>>
>>>
>> Flavio,
>>
>> Parabéns pelo código, parece muito bom.
>>
>> Algumas recomendações:
>>
>> 1) Escreva a interface do seu código em ingles. "directory" ao invés
>> de "diretorio", "target" ao invés de "destino".
>>
>> 2) Use o Getopt::Long para ler as opções de linha de comando. Alguma
>> coisa como (obs: não testei o código a seguir):
>>
>> use Getopt::Long;
>>
>> my %options;
>>
>> my $result = GetOptions(
>>     \%options,
>>     'directory|dir|d=s',
>>     'target|t=s',
>>     'prefix|p=s',
>> );
>>
>> A partir daí você deve checar e usar as variáveis $opt{directory},
>> $opt{target} e $opt{prefix}. Adicione mais opções de linha de comando
>> se necessário.
>>
>> 3) Escreva a documentação do seu código em formato POD, após o __END__:
>>
>> __END__
>>
>> =head1 NAME
>>
>>     backup.pl - brief description of your script
>>
>> =head1 SYNOPSIS
>>
>>     backup.pl [options]
>>
>>     Where options are:
>>
>>         --directory
>>         --target
>>         --prefix
>>
>> =head1 DESCRIPTION
>>
>> A more complete description of your module. (Purpose, etc)
>>
>> =head1 AUTHOR
>>
>>     Flávio R. Lopes<flavio.lopes em links.inf.br>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
>>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>


-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100929/ac65cd3c/attachment-0001.html>


More information about the SaoPaulo-pm mailing list