Magic Number

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Unter Magic Numbers (englisch für magische Zahlen), auch unnamed numerical constants, versteht man feste Zahlenwerte (hard coded values), die in einem bestimmten Kontext das Gewünschte erreichen.

In CSS beziehen sich Magic Numbers auf Werte, die unter bestimmten Umständen die gewünschte Darstellung erreichen, aber in anderen Kontexten wie geänderten Viewport- oder Schriftgrößen das Layout zerstören. Meistens wurden sie von Entwicklern verwendet, die nur in sehr wenigen Browsern und unter Idealbedingungen testen.

Empfehlung: Verwenden Sie
  • keine festen Werte für die Breite
  • keine festen Werte für die Höhe eines Elements, sondern lassen dem Inhalt (auch bei geänderter Schriftgröße) den nötigen Platz. Regeln Sie Abstände über padding.
  • relative Längenmaße wie em, die sich an geänderte Schriftgrößen anpassen.

In JavaScript (und anderen Programmiersprachen) versteht man darunter feste Zahlenwerte (hard coded values), die in einem bestimmten Kontext das Gewünschte erreichen.

t = 86400000;

const dayLength = 24 * 60 * 60 * 1000; // 86400000 mS in a day

In diesem Code-Snippet wird die Dauer eines Tages in Millisekunden notiert. Monate später wird man nicht mehr wissen, wie man auf diese Zahl gekommen ist. Die Festlegung durch eine Konstante, deren Name auf den Inhalt der Konstanten hinweist, und einen klaren Rechenweg ist übersichtlicher und lässt sich besser verstehen - sowohl von Ihnen, wenn Sie den Code nach einiger Zeit überarbeiten wollen, als auch von anderen, die ihn lesen möchten.

Die Namensgebung ist dabei durchaus schwierig, wie bei jeder Benennung. Die Konstante day zu nennen wäre zu knapp. milliSecondsPerDay ist sehr deutlich, bedeutet aber auch schon viel Tipparbeit, und viele Konstanten dieser Art führen zu langen - und damit wieder schwer lesbaren - Codezeilen. dayLength ist ein denkbarer Kompromiss. Sie müssen hier Ihren eigenen Stil finden.

Siehe auch

im SELF-Forum

Weblinks