Kephra / lib / Kephra / StyleGuide.pod

=head1 Kephra Coding Style

=head2 Technical Details

    bracketing     = K & R
    indention size = 4
    use of tabs    = yes


=head2 Organisation

1 module - 1 namespace

=head2 Naming

We try to reuse same names for similar purposes,
especially when its the same purpose through several modules,
or the same data part through different structures.

We also try to lean toward natural Perl names (eg 'sub' 'coderef', 'push').


=head3 module/class Names

titlecase / camelcase       ~~ LikeThis


=head3 sub/method Names

lowercase words separated by _ ~~ like_this

routines only to be called inside a module start with one _
avoid to call these from outside by all means

create not make when we generate something

=head3 Variable Names

lowercase words separated by _ ~~ like_this
We say active, no more current or recent.

$self  reference of the class itself

$ed    in most cases the active editor pane
       (was renamed from $ep to prevent simple copy and paste of old code)

$file  full file path, unless oyur specific like file_name, file_path etc.

=head3 Command Names

words separated by -

=head3 Event Names

words separated by .

=head3 Key Definitions

keys separated by +
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.