dedlfix: viele Parameterübergabe! Wie umgehen?

Beitrag lesen

Tach!

Ich will n layout programmieren. abgespecktes borderLayout von Java.

Reicht dir HTML+CSS dazu nicht?

dazu brauche ich sehrviele parameter. z.B. Bezugspunkt, richtung, welche maße, die elemente, sowie dynamischer anfangspunkt-, endpunkt, kritische größen die elemente neue positionieren, usw.

Diese sehr vielen Parameter werden ja wohl nicht nur eine Reihen von Zahlen sein, à la 0, 8, 15, 23, 42. Wie willst du daraus erkennen, was wofür steht?

Dann ist ein ordentliches Datenmodell eine wichtige Grundlage.

Danke für den rat. Wie stelle ich mir n datenmodell vor?

Nun, indem man beispielsweise einen Punkt nicht als zwei lose Werte ansieht, sondern sich eine Struktur drumherum baut, aus der man erkennen kann, dass das ein Punkt sein soll und welche Eigenschaften der hat.

function Point(x, y) {
  this.x = x || 0;
  this.y = y || 0;
}

Und wenn das Projekt umfangreicher werden soll, tät ich auch lieber Typescript und eine IDE nehmen, die damit umgehen kann (zum Beispiel PhpStorm/WebStorm). Das hilft beim Programmieren enorm, wenn die Autovervollständigung funktioniert und bei potentiellen Fehlern und Schludrigkeiten die betreffende Stelle markiert wird.

class Point {
    private x;
    private y;
    
    constructor(x: number = 0, y: number = 0) {
        this.X = x;
        this.Y = y;
    }

    get X(): number { return this.x;}
    set X(value: number) { this.x = value; }

    get Y(): number { return this.y;}
    set Y(value: number) { this.y = value; }
}

Sieht etwas umfangreicher aus, ist es auch. Statt einfacher Eigenschaften gibt es richtige Getter/Setter. Kann man auch in reinem Javascript machen (Typescript übersetzt das auch nur dahin), schreibt sich aber wesentlich umständlicher.

dedlfix.