*Markus: Abwägen zwischen wenigen Code und übersichtlichen Code

Hallo,

immer wieder stoße ich auf Situationen, wo ich bereits bestehenden Code fast identisch nochmals verwenden muss. Hier beziehe ich mich mal auf Subroutinen, bzw Methoden in Perl.
Angenommen man hat ein Formular, welches zum einlesen von Daten in eine Datenbank verwendet wird, so könnte man dieses Formular ebenfalls dafür verwenden, die aus der DB ausgelesenen Daten zu editieren. Tut man dies aber, so müssen in meinem Fall oft irgendwelche zusätzlichen Parameter dieser Subroutine übergeben werden, oder Fallunterscheidungen vorgenommen werden, damit zwischen dem Neu-Einlesen und dem Aktualisieren der alten Daten irgendwie unterschieden werden kann.
Solche Konstrukte können je nach Größe des Formulars und der verschiedenen Funktion, für die man es verwendet, sehr unübersichtlich werden, wodurch ich mich fragte, wie man sich so etwas schon mal im Vorhinein überlegen kann. Kann man irgendwie nach gewissen Kriterien gehen um sagen zu können, dass es sich ab einem gewissen Aufwändigkeitsgrad nicht lohnt, eine bestehende Subroutine multifunktionell zu gestalten, sondern aus Übersichtlichkeit eine neue, ähnliche, Subroutine zu erstellen?
Hier steht wenigerer, aber unübersichtlicherer Code in Relation zu mehr, aber übersichtlicherem Code, und übersichtlicher Code ist natürlich auch eine Form von Effizienz.
Wie kann man diese beiden Vorgehensweisen abwägen?

Markus.

--
http://www.apostrophitis.at
Maschiene währe Standart Gallerie vorraus Packete Objeckte tollerant vieleicht
  1. Hello,

    hier steht sicher auch die Frage der Polymorphie im Raume.
    Die erreicht man aber nur durch geeignete Modellierung.
    Legst Du die Schnittstellen (ich sage leiber Verbindungsstellen) an die falschen Stellen, dann wird es einfach nicht übersichtlich.

    Und Module sollten auch immer eine genau abgegrenzte Funktionalität erfüllen, die möglichst häufig vorkommt. Alles, was für den Einzelfall dann fehlt, sollte man extern dazuprogrammieren können.

    Eines meiner Beispiele ist immer das Öffnen einer Datei zum Zwecke des geteilten Lesens und Schreibens. Wesentlich für eine universelle Nutzung eines solchen Moduls sind mMn immer äußerst aussagekräftige Fehlermeldungen (Erfolgsmeldungen).

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau