[SP-pm] Sugestão para melhorar código
Nelson Ferraz
nferraz at gmail.com
Wed Sep 29 15:33:19 PDT 2010
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>
More information about the SaoPaulo-pm
mailing list