Coding guidelines

Jakob Voss edited this page May 15, 2014 · 2 revisions

The following guidelines are no strict rules but they should be considered as best practice for contribution.


Catmandu should be able to install for all Perl versions since 5.10.1, on any platform for which Perl exists. We focus mainly on GNU/Linux (any distribution).

You should avoid regressions as much as possible and keep backwards compatibility in mind when refactoring. Stable releases should not break functionality and new releases should provide an upgrade path and upgrade tips such as warning the user about deprecated functionality.

Code documentation

Document your module with

  • a meaningful abstract
  • a SYNOPSIS with usage example
  • a short DESCRIPTION giving an introduction, including explicit links to other modules (e.g. roles)
  • a CONFIGURATION section listing all constructor arguments
  • a METHODS section listing all public methods. Methods derived from other modules should not be included but the modules should be mentioned explicitly.
  • a SEE ALSO section listing related modules

Names of other moduless should be linked (e.g. L<Catmandu::Importer>)

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.