Benchmark-Perl-Formance-Cargo
view release on metacpan or search on metacpan
share/PerlCritic/Critic/Policy/Modules/ProhibitExcessMainComplexity.pm view on Meta::CPAN
some discussion about the McCabe number and other complexity metrics.
Whereas
L<Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity|Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity>
scores the complexity of each subroutine, this Policy scores the total
complexity of all the code that is B<outside> of any subroutine
declaration.
The usual prescription for reducing complexity is to refactor code
into smaller subroutines. Mark Dominus book "Higher Order Perl" also
describes callbacks, recursion, memoization, iterators, and other
techniques that help create simple and extensible Perl code.
=head1 CONFIGURATION
The maximum acceptable McCabe score can be set with the C<max_mccabe>
configuration item. If the sum of all code B<outside> any subroutine has a
McCabe score higher than this number, it will generate a Policy violation.
The default is 20. An example section for a F<.perlcriticrc>:
share/PerlCritic/Critic/Policy/Subroutines/ProhibitExcessComplexity.pm view on Meta::CPAN
possible paths through a subroutine. This Policy approximates the
McCabe score by summing the number of conditional statements and
operators within a subroutine. Research has shown that a McCabe score
higher than 20 is a sign of high-risk, potentially untestable code.
See L<http://en.wikipedia.org/wiki/Cyclomatic_complexity>
for some discussion about the McCabe number and other complexity
metrics.
The usual prescription for reducing complexity is to refactor code
into smaller subroutines. Mark Dominus book "Higher Order Perl" also
describes callbacks, recursion, memoization, iterators, and other
techniques that help create simple and extensible Perl code.
=head1 CONFIGURATION
The maximum acceptable McCabe can be set with the C<max_mccabe>
configuration item. Any subroutine with a McCabe score higher than
this number will generate a policy violation. The default is 20. An
example section for a F<.perlcriticrc>:
[Subroutines::ProhibitExcessComplexity]
share/SpamAssassin/easy_ham_2/01317.7fc86413a091430c3104b041a6525131 view on Meta::CPAN
[098] - webcpp gtkgui 0.3.1 (Gnome)
by Jeffrey Bakker (http://freshmeat.net/users/staeryatz/)
Tuesday, July 30th 2002 13:20
Text Processing :: Markup :: HTML
About: webcpp gtkgui is a GTK+ GUI for webcpp.
Changes: Support for Cg, CLIPS, Haskell, and Tcl, code cleanups in
callbacks.c, and an updated about box. Webcpp 0.7.3 is now required.
License: GNU General Public License (GPL)
URL: http://freshmeat.net/projects/webcppgui/
- % - % - % - % -
[099] - WebDialer 1.4
by Dietrich Heise (http://freshmeat.net/users/dietrich/)
Tuesday, July 30th 2002 10:49
( run in 0.535 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )