<br><br><div class="gmail_quote">2010/1/28 Daniel de Oliveira Mantovani <span dir="ltr"><<a href="mailto:daniel.oliveira.mantovani@gmail.com">daniel.oliveira.mantovani@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Bom, com certeza eu não sou experiente, tudo o que sei é a minha pergunta.<br>
*Onde estão os testes e a documentação?*<br>
<br>
A identação está horrível, o seu tab está consumindo oito "espaços",<br>
ajuste seu editor de texto para consumir apenas quatro espaços.<br>
<br></blockquote><div>Isso é uma questão pessoal, Mantovani. Você pode não gostar de tabs mais extensos, mas eu por exemplo, não enxergo porcaria nenhuma no seu código onde tudo fica espremidinho. Então não tente 'forçar' alguém a escrever como você escreve, só porque você acha melhor. Ao invés disso concentre-se em ajudar a resolver o problema.<br>
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dei uma olhada rápida, e me atentei a essa sub rotina:<br>
<br>
sub manufacturer{<br>
my $self = $_[0];<br>
<br>
Aqui você pode usar, my $self = shift, vai ter *quase* o mesmo efeito<br>
do my $self = $_[0], aqui você poderia usar:<br>
my $self = shift;<br>
Eu particularmente acho muito mais elegante desse jeito com shift.<br>
<br>
open FABRICANTES,"<enterprise.txt";<br>
<br>
Sempre quando você usar open, use com três argumentos é mais seguro, e<br>
não esqueça do *die/warn*.<br>
Não use bareword, use uma variável.<br>
Olha só:<br>
open my $fabricante, q{<} 'enterprise.txt' or die $!<br></blockquote><div><br><br>Q frescura! porque não simplesmente: <br>my $file = 'enterprise.txt'<br>eval{open my $fabricante,'<', $file};<br>
if($!){<br> print "\nProblemas ao abrir o arquivo '$file' - $!";<br>}else {<br>#Alguma coisa util aqui...<br><br>}<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Outra coisa muitíssima importante, sempre quando você abrir um arquivo<br>
feche-o, depois de utilizar(close $fabricante or die $!).<br>
<br></blockquote><div><br>mantovani++<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
my @objIDSplited = split /\./,$self->{SysObjID};<br>
while(<FABRICANTES>){<br>
<br>
Não é uma boa prática usar a variável $_ desse jeito, dificulta o<br>
entendimento do código, olha só:<br></blockquote><div><br><br>É verdade, mas não é só por causa disso, Mantovani. O problema em se usar $_ dessa forma, é que você corre o risco do interpretador sobrescrever essa variável em um trecho posterior do código(dependendo do código), e fica difícil ter o controle disso, já que, somente o próprio Perl, é quem escreve nessa variável especial e não você(Pelo menos até onde eu sei). Portanto é mais seguro você guardar o valor de $_ o mais rápido possível em uma variável que você possa observar e manipular de maneira mais controlada, ao invés de usar $_ diretamente. <br>
<br>O outro lado disso é que atalhos existem para serem utilizados. Se você tem certeza do que está fazendo, eu realmente não vejo problema em usar $_.<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
while(my $fabri = <FABRICANTE>) {</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
if ($_ =~ /^$objIDSplited[6]\s/){<br>
chomp(my @str = split /\t/, $_);<br>
return ($str[1],$objIDSplited[6]) if wantarray;<br>
return $str[1];<br>
last;<br>
<br>
Esse "last" não tem sentido, quando você faz o "return" ele já termina.<br>
<br>
Olha esse jeito de fazer:<br>
<br>
wantarray ? return ($str[1],$objIDSplited[6]) : return $str[1];<br>
<br></blockquote><div>Três linhas por uma, só que bem mais complicado de entender. Nosso amigo parece estar pouco familiarizado com esses 'atalhos', Mantovani. Embora você tenha razão, é interessante que ele primeiro entenda alguns conceitos antes de ter que lidar com esse tipo de 'atalho'. Tente explicar melhor o que você está fazendo nesse trecho acima. <br>
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Pronto, você troca 3 linhas por uma :)<br>
<br>
<br>
Tem outros "detalhes".<br>
<br>
}<br>
}<br>
}<br>
<br>
2010/1/28 thiago User <<a href="mailto:thiago@nerdsland.net">thiago@nerdsland.net</a>>:<br>
<div><div></div><div class="h5">> Ok, Ok. Estou aprendendo a usar o git... coloquei uma versão do módulo<br>
> Printer.pm que eu uso no sistema de impressão que criamos na Petro - que<br>
> será batizado de SNMPrinter. Ainda não esta completo, mas estou aberto<br>
> aos comentários e criticas dos colegas mais experientes.<br>
><br>
><br>
> git://<a href="http://gist.github.com/289308.git" target="_blank">gist.github.com/289308.git</a><br>
> <a href="http://github.com/thiagoglauco/SNMPrinter" target="_blank">http://github.com/thiagoglauco/SNMPrinter</a><br>
><br>
><br>
> _______________________________________________<br>
> SaoPaulo-pm mailing list<br>
> <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
"If you’ve never written anything thoughtful, then you’ve never had<br>
any difficult, important, or interesting thoughts. That’s the secret:<br>
people who don’t write, are people who don’t think."<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br><br><br>