Ankündigung

Einklappen
Keine Ankündigung bisher.

-1 = Unendlich oder Fehler!?

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • -1 = Unendlich oder Fehler!?

    Hallo @all,

    ich schreibe in meine db immer wenn ich irgendwo unendlich habe "-1". Also User1 darf nur 3 E-Mails eintrage ( Spalte E-Mails = 3) User2 darf unednlichviele E-Mails eintragen (Spalte E-Mails = -1 ).
    Aber die Zahl -1 wird ja beim programmieren auch oft als Fehler-Code benutz. Und auch bei mir steht -1 ab und zu für "Fehler"/"nicht initalisiert" ...

    Jetzt meine Frage: Welchen Wert soll ich für "unendlich" und welchen für "Fehler" benutzen? Bzw. welche Werte benutz ihr?

    mfg

    d0ne


  • #2
    Ich hatte diese Problematik bis jetzt noch nicht. Es kommt halt drauf an was für Werte NICHT als normale Werte genutzt werden. Oft wird z.B. die 0 als unendlich verwendet. Ansonsten ist es einfach Definitionssache, du musst es klar dokumentieren um später Verwirrungen zu vermeiden. Ansonsten ist es dir überlassen wie du das machst.

    Kommentar


    • #3
      Also ich würde NULL als "unendlich" bzw. "Wert egal" nehmen. Ist ein Wert hinterlegt, erfolgt eine Prüfung auf die Anzahl der E-Mails, ist kein Wert hinterlegt (also NULL), dann erfolgt keine Prüfung und somit keine Begrenzung.

      Grüße
      Thomas

      Kommentar


      • #4
        Also 0 als einen Stellvertreter für beliebig viele zu nehmen, halte ich hier für keine Idee, da man mit 0 z.B. gut die entsprechende Funktion einfach deaktivieren kann (sprich: keine). NULL ist schon gar keine schlechte Idee, an dieser Stelle aber eher unüblich (müsste auf Userseite dann per Checkbox „beliebig viele“ realisiert werden). NULL wäre sicherlich besser zu nutzen als „nicht gesetzt“ bzw. „Standardwert“. Ich würde jetzt auf -1 zurückgreifen. Wieso das mit einem Fehlercode kollidieren sollte, ist mir nicht klar. Das ist doch etwas vollkommen anderes. Wenn hier die Möglichkeit einer Verwechslung besteht, solltest du generell mal dein Design überdenken. An dieser Stelle würde ich als Fehlercode wenn überhaupt eher false nehmen.
        Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

        Kommentar


        • #5
          Verschiedene Datentypen (int <-> NULL) für eine Eigenschaft zu benutzen, halte ich per se für schlecht.
          Dann schon lieber >= 0 für die Anzahl und < 0 für "Fehlercodes", unendlich, usw.

          Kommentar


          • #6
            Anstatt die ganze Zeit nur mit Zahlen rumzuhantieren würde ich dann noch die Zahlen in Konstanten speichern, also z.B. eine Konstante UNENDLICH und eine konstante ERROR usw.
            Denen dann aber halt wieder 0, oder -1 oder was auch immer zuweisen.
            Sieht mMn schöner aus als nur 0 und -1.

            Kommentar


            • #7
              Jeder Wert MUSS in einem Kontext gesehen werden, ansonsten ist er "wertlos"

              Mal ist -1 eben der Code für "Fehler", woanders ist es halt der Code für "unendlich".

              DEFINE's sind eine super Sache, da man dann gleich einen sprachlichen Kontext mitgeliefert bekommt (siehe Creativ02's Beitrag)
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar

              Lädt...
              X