Kephra / doc / CompleteProgramming.pod

=head1 Complete Programming

This document describes the method the Kephra editor is developed with.
Its highest aim is to have at all times a usable program with the
highest quality at all levels while still letting programming be fun.

=head2 Overview


I strongly dislike strict rules imposed on me and made fun of people that
produce theories with three letter acronyms that try to be the answer to everything.
But now I am standing here, trying to "sell" you yet another programming methodology.
That IS irony, isn't it?

=head2 Rational

Well, several reasons brought me here.

1.) All methodologies I know of overlook several aspects of the product.
    That includes even "documentation driven development",
    which gave important impulses for the creation of CP.

2.) I always wanted a sane balance between the old bureaucratic waterfall method
    and a bit too shortsighted, modern extreme or agile programming, combining
    sound planning and practicability.

=head2 Main Goal

Highest aim is the conscience the code is produced with. A superb overall
user experience as well as good code quality should be result of it. 

=head2 Phases of Development

Even if productive software is never done and you wand to get something usefull

=head3 Defining Task

main task

aprox. feature set

parts to do
   * documentation (user, programmer, comments)
   * logic
   * tests
   * supply libs 
   * visuals
   * configs


what kind of team to solve it with

what technologies, languages, libs, os, other tools
fallback alternatives or areas you might expand into

=head3 Early Development

=head3 Normal Development

=head3 Maintenance

=over 4
=item * 
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
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.