I created new section and category, software development philosophy, IĂÂ get an idea to name it like this from wikipedia's article, List of software development philosophies
Since in that list there is no refinement, I would like to mention it.
According to wikipedia, program refinement is the verifiable transformation of an abstract (high-level) formal specification into a concrete (low-level) executable program.
So, what that exactly mean?
In Delphi it look something like this:
procedure SortFile (filename:string);
// Read file into memory
// Sort the lines
// Write file out of memory
Later you develop your code.
I started to use this approach few months ago, and it is very usefull, when I start coding like this, usually my code look much better.
I took the code, and idea of writing all this from here.