summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorPaul Buetow (pluto.buetow.org) <paul@buetow.org>2013-09-08 09:19:05 +0200
committerPaul Buetow (pluto.buetow.org) <paul@buetow.org>2013-09-08 09:19:05 +0200
commit0663db22aea0342e9ecaf0257e9c7ebb67537022 (patch)
treeefc4e43465e4bbac2df4e695eea6b7a80485dff5 /README
parent862679a92e2d853390d84ade4003f3c2e0f13bea (diff)
rename STYLEGUIDE
Diffstat (limited to 'README')
-rw-r--r--README71
1 files changed, 71 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..e6dd3c9
--- /dev/null
+++ b/README
@@ -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').