var: Defaults in separatem Funktionsobjekt speichern?

Beitrag lesen

Hallo miteinander!

Bislang hatte ich es immer so gehalten, dass ich die Voreinstellungen in meinem Code immer (nur) an der Stelle notiert habe, wo sie gebraucht werden, also in etwa nach dem Schema:

var node = function (param) {

  // ...

  var blending = param.blending || false;

  // ...

  var uniformColor = param.uniformColor || [1.0, 1.0, 1.0];

  // ...

}

Allerdings Frage ich mich, ob es nicht besser wäre, die Defaults in einem separaten Funktionsobjekt zu speichern, also z.B.

var nodeDefault = {

  'parent' : 'root',
  'role' : 'abstract',

  // ...

  'blending' : false,

  // ...

  'uniformColor' : [1.0, 1.0, 1.0],

  // ...

}

um dann an entsprechender Stelle darauf Bezug zu nehmen

var node = function (param) {

  // ...

  var uniformColor = param.uniformColor || nodeDefault.uniformColor;

  // ...

}

Das würde zwar mehr Code beudeuten, aber für die Übersichtlichkeit und Wartbarkeit desselben wäre es wohl eine Verbesserung, wenn man die Voreinstellungen nicht mehr über hunderte Zeilen versteut suchen muss, sondern sie an zentraler Stelle aufzubewahrt werden, oder?

Statt nodeDefaults könnte man dann natürlich auch gleich sceneDefaults erstellen

var sceneDefault = {

  // ...

  'autoResize' : true,

  // ...

  'node' : {

      'parent' : 'root',
      'role' : 'abstract',

      // ...

  }

}

Daher meine Frage an die erfahrenen Programmierer unter euch: Was meint ihr, welche Vorgehensweise hier zu empfehlen sei?

PS: Die gleiche Frage könnte man natürlich auch hinsichtlich der Behandlung von Fehlern stellen, sprich, sollte soweit möglich nicht auch Validierung und Reaktion zentralisiert werden?

Gruß,

var