Test-AutoBuild Coding Standards
===============================
The following outlines some rules (compulsory) & guidelines (recommended)
for code in Test-AutoBuild.
Rules
-----
The following points are mandatory for all new code:
* 'use warnings' in every file
* 'use strict' in every file
* Debugging & logging goes to Log::Log4perl with a category
matching the module name
my $log = Log::Log4perl->get_logger();
$log->debug("Some thing");
* 100% POD coverage of methods defined in modules
* At least 50% code coverage by Devel::Cover
* Use 'die' instead of 'confess' - auto-build.pl hooks confess
into the die handler automatically.
* All code must be OS portable - ie use File::Spec::Functions rather
than hardcoding '/'
* The end user should not be aware of the fact that Test-AutoBuild is
written in Perl. ie
- Don't display Perl stack traces
- Don't have print / warn strings containing raw hash refs
- Don't require knowledge of perl to configure the system
Guidelines
----------
The following points are recommended best practice for all code:
* Use Class::MethodMaker for creating 'new' method
use Class::MethodMaker
new_with_init => 'new';
* Use Class::MethodMaker for creating simple getters & setters
use Class::MethodMaker
get_set => [qw( name label start_time end_time )];
* 85% code coverage by Devel::Cover (assuming its feasible)
-- End