diff options
| author | Paul Buetow (pluto.buetow.org) <paul@buetow.org> | 2013-09-08 09:19:05 +0200 |
|---|---|---|
| committer | Paul Buetow (pluto.buetow.org) <paul@buetow.org> | 2013-09-08 09:19:05 +0200 |
| commit | 0663db22aea0342e9ecaf0257e9c7ebb67537022 (patch) | |
| tree | efc4e43465e4bbac2df4e695eea6b7a80485dff5 /README | |
| parent | 862679a92e2d853390d84ade4003f3c2e0f13bea (diff) | |
rename STYLEGUIDE
Diffstat (limited to 'README')
| -rw-r--r-- | README | 71 |
1 files changed, 71 insertions, 0 deletions
@@ -0,0 +1,71 @@ +Always do: + +- Pragmatic modules ALWAYS to use in ALL packages: + + use strict; + use warnings; + +- Only for packages for including package UNIVERSAL definitions + + use Xerl::Page::Base; + +- Object oriented coding style + +- Always use method prototypes if possible + + sub foo($;$) { .... } + +- Explicit object typing if possible + + my Class::Name::Here $foo = Class::Name::Here->new(); + +- If no real ret val, set undef; explicitly + + sub foo() { + # Do some stuff + ... + # Set explicit undef ret value + return undef; + } + +- Private subs use _ as its prefix and are called only from the current package. + + package Xerl::Foo::Bla; + . + . + + sub _iamprivate($) { + my Xerl::Foo:Bla $self = $_[0]; + . + . + } + + sub iampublic($) { + my Xerl::Foo:Bla $self = $_[0]; + $self->_iamprivate(); + return undef; + } + +- Static subs (not OOP) are in CAPITAL letters. + + sub IAMSTATIC($) { + print shift; + return 'Hello World'; + } + + sub iamdynamic($) { + my Xerl::Foo:Bla $self = $_[0]; + return Xerl::Foo::Bla::IAMSTATIC( $self->get_somevalue() ); + } + +- Static private subs start with _ and are written in CAPITAL letters + + sub _IAMSTATICPRIVATE() { + . + . + } + +- Use Pidy to automaically restyle the code! (make pidy) + +- Mark things which are still to do with TODO: at any place in the source + tree. (Can be searched for using 'make todo'). |
