manski's blog

Konsistenz

Konsistenz im weiteren Sinn bezieht sich auf den logischen, hermeneutischen, funktionalen oder √ɬ§sthetischen Bestand eines Gegenstandes (z. B. eines Textes, eines Begriffs, einer Methode oder Technik, eines Werkzeugs oder eines Kunstwerks), der in sich stimmig ist, Sinn ergibt und keine inneren Widerspr√ɬľche oder Spannungen aufweist, die seine Einheit gef√ɬ§hrden. (Quelle Wikipedia)

Im Bezug auf Software bedeutet das, dass die Software sich an einer Stelle in einer bestimmten Art und Weise und an anderer (√ɬ§hnlicher) Stelle analog/√ɬ§hnlich dazu verh√ɬ§lt √Ę‚ā¨‚Äú eben konsistent.

Wie wichtig Konsistenz ist, zeigt mal wieder folgendes Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head>
    <title>Meine Test-Seite</title>
    <script type="text/javascript" src="js/jquery-1.2.6.pack.js"/>
    <script type="text/javascript">
    <!--
      $(document).ready(function() {
        alert("Hallo Welt");
      });
    // -->
    </script>
  </head>
  <body>
  </body>
</html>

Diese simple HTML-Seite soll per JavaScript/jQuery “Hallo Welt” ausgeben. Dummerweise tut sie das aber nicht trotz ihrer Validit√ɬ§t.

Nach stundenlanger Suche bin ich dann auf den Fehler gesto√ÉŇłen. Man darf den <script>-Tag (Zeile 4) nicht als Einzel-Tag schreiben, sondern muss ihn mit schlie√ÉŇłendem Tag schreiben. Der Quellcode sieht dann also so aus und funktioniert damit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head>
    <title>Meine Test-Seite</title>
    <script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
    <script type="text/javascript">
    <!--
      $(document).ready(function() {
        alert("Hallo Welt");
      });
    // -->
    </script>
  </head>
  <body>
  </body>
</html>

Dieses Verhalten (das im Firefox 3.5 und im Internet Explorer 8, aber nicht im Opera 9 auftritt) ist inkonsistent, denn √ɬľberall sonst gilt (nur halt bei <script> nicht):

<tag></tag> = <tag/>

Und es ist frustrierend nach so einem Fehler zu suchen, zumal er nirgendwo als Fehler angezeigt wird.

One comment

  1. A. krysmanski said: ‚ąě

    Willkommen in der Realität.

Leave a Reply

Your email address will not be published. Required fields are marked *