Programmierstile

Programmierstile bilden in der Modernen Softwareentwicklung ein immer größeres Thema, da die Projekte immer umfangreicher und größer werden. Man siehe Z.b Openoffice, wie sollte das Entwickeln dieser Software funktionieren, wenn über 10.000 User immer einen anderen Stil wählen? Stimmt: Kann es nicht. Unter anderem deswegen wurden diese Stile(Oft auch „Coding Standards“ oder auch „Coding rules“) entwickelt, um die Lesbarkeit und Wiederverwendbarkeit eines Quelltextes oder Programmes zu erhöhen. Wenn man ganz allgemein bei Google oder anderen sucht, findet man meistens die Stile Objekt orientierte Programmierung,Prozedurale Programmierung,Modulare Programmierung und Generische Programmierung. Diese möchte ich hier wiedergeben bzw. erklären ;) Hierbei nutze ich das Beispiel eines (C++)Quelltextes, welches 2. „Hallo Welt“ ausgibt.

Prozedurale Programmierung

Prozedurale Programmierung wird mehrdeutig beschrieben, aber am meisten als „Zerlegung in Teilprobleme“ beschrieben, und woanders als „Zerlegung in Teilprobleme“ definiert. Und was ist jetzt genau?! Bei der Definition wird beschrieben(Ziemlich arg, aber wenn man zwischen den Zeilen list, ist es zu erkennen^^) das Algorithmen in überschaubare Teile zerlegt werden. Also Anstatt diesen Codes…

beispiel1.cpp
#include <iostream>
using namespace std;
void main()
{
 cout << "Hello World" << "..." << "ösüqü" << "Hello World";
}

Sollte man diesen nutzen, aus dem auch herausgeht, wo der Formatierfehler „ösüqü“ liegt(Ohne sich das Programm anzuschauen)

beispiel2.cpp
#include <iostream>
using namespace std;
void main()
{
 cout << "Hello World":
 cout << "...";
 cout << "ösüqü";
 cout << "Hello World";
}

Jetzt analysieren wir diesen Code und stellen nach 3 Sekunden fest(wo wir das Programm ausgeführt haben): Es wird falsch formatiert! Also ändern wir das ganz fix. (Sollte klar sein, aber wenn nicht: Die umlaute einfach Ausschreiben!). Also wir erkennen das die Prozedurale Programmierung meist dafür geeignet ist, Fehler zu finden und zu „Eliminieren“.

Objektorientierte Programmierung

…Meistens kurz „OOP“, ist nicht wirklich nur ein Stil, es ist das gesamte Programmieren, ohne Ausnahme wie in der Prozeduralen Programmierung. Die Grundidee ist, Daten und Funktionen, die auf diese Daten angewandt werden können, möglichst eng in einem sogenannten Objekt zusammenzufassen und nach außen hin zu kapseln, so dass Methoden fremder Objekte diese Daten nicht versehentlich manipulieren können. Und weil das den Ramen dieses Artikels sprengen würde, gehe ich nur schnell darauf ein, indem ich für Interessierte einen Link zu einem OOP Tutorial erstelle^^