Interessante, infelizmente onde eu trabalho não há essa cultura de "refactoring", as coisas SEMPRE são pra ontem, fez, funcionou, produção ... :/ <div>Alguem tem esse problema aqui? ou coisa parecida? ou boas desculpas para fazer refactoring ? :)
<br><br><div><span class="gmail_quote">On 6/25/07, <b class="gmail_sendername">Nelson Ferraz</b> <<a href="mailto:nferraz@gmail.com">nferraz@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">
Exemplo de refactoring em Perl:<br><br> sub print_owing{<br> my $self = shift;<br> my $e = $self->{_orders}->elements();<br> my $outstanding = 0.0;<br><br> # print banner
<br> print "**************************\n";<br> print "***** Customer Owes ******\n";<br> print "**************************\n";<br><br> # calculate outstanding
<br> while ( $e->has_more_elements() ){<br> my $each = $e->next_element();<br> $outstanding += $each->get_amount();<br> }<br><br> # print details<br>
print 'name: ', $self->{_name}, "\n";<br> print "amount: $outstanding\n";<br> }<br><br>Se transforma em:<br><br> sub print_owing{<br> my $self = shift;
<br><br> $self->print_banner();<br> my $outstanding = $self->get_outstanding();<br> $self->print_details( $outstanding );<br> }<br><br> sub print_banner{<br> my $self = shift;
<br><br> # print banner<br> print "**************************\n";<br> print "***** Customer Owes ******\n";<br> print "**************************\n"
;<br> }<br><br> sub print_details{<br> my $self = shift;<br> my $outstanding = shift;<br><br> print 'name: ', $self->{_name}, "\n";<br> print "amount: $outstanding\n";
<br> }<br><br> sub get_outstanding{<br> my $self = shift;<br><br> my $e = $self->{_orders}->elements();<br> my $result = 0.0;<br><br> # calculate outstanding
<br> while ( $e->has_more_elements() ){<br> my $each = $e->next_element();<br> $result += $each->get_amount();<br> }<br> return $result;<br> }
<br><br><br>Este é o "extract method".<br><br> <a href="http://www.perlmonks.org/?node">http://www.perlmonks.org/?node</a>_id=622705<br><br>[]s<br><br>Nelson<br>_______________________________________________
<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman">http://mail.pm.org/mailman</a>/listinfo/cascavel-pm<br></blockquote></div><br><br clear="all">
<br>-- <br>Lindolfo "Lorn" Rodrigues<br>- <a href="http://www.slackwarezine.com.br">www.slackwarezine.com.br</a><br>- <a href="http://lornlab.org">http://lornlab.org</a><br>- <a href="http://sao-paulo.pm.org">http://sao-paulo.pm.org
</a><br>use Catalyst;
</div>