Benutzer:Rjh/wikipedia-reference-creator/review

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Notizen zum Add-on für Firefox: wikipedia-references-creator

  • WSTM für ISBN (und ggf. mehr): WSTMwrc

Anmerkungen, Stand Ende Februar 2015

Zeile Bemerkung Änderung
3 var Evaluate = require("./Evaluate"); – warum sich selbst einbinden? Kopierfehler  Ok
4 Timer verwendest du nicht (mehr).  Ok
56+ Einfügen: var result; ups, das hätte C++ gemerkt  Ok
44 Use '===' to compare with "". Siehe #trim. ich fand schon das == in C++ bescheuert, ist das jetzt ein identisch ?  Ok
66 Missing semicolon  Ok
123 Zuweisung ohne var, das result wurde schon Zeile 66 verwendet. Überschreiben lokale Variablen in der Sichtbarkeit nicht globale ?  Ok
170 Use '===' to compare with "".  Ok
191 Missing semicolon  Ok
198 Use '===' to compare with "".  Ok
205 Use '===' to compare with 'true'.  Ok
253 Unnecessary semicolon  Ok

Die trim-Funktion ginge einfacher zu schreiben:

function trim(s) 
{
    if (s)
    {
        return s.replace(/^\s+/, '').replace(/\s+$/, '');
    }
    return "";
}

 Ok

Aber man könnte auch ganz darauf verzichten; bei neueren Browsern ist es eine normale Funktion wie auch eben .replace().

  • developer.mozilla.org
  • Wenn man Code für unbekannte Browser und Benutzer schreibt, ist es sinnvoll, .trim() noch nicht zu verwenden.
  • MediaWiki hängt eigentlich an das String-Objekt eine .trim() an, so dass es in jeder Online-Seite unter MediaWiki benutzt werden kann.
  • Du bist in deinem Add-On sicher, dass unter Firefox ausgeführt wird, und der FF 3.5 ist schon ein paar Jahre alt und die Benutzer wurden -zigmal zur Aktualisierung aufgefordert.
    • naja, wenn es geht lass ich es erstmal so.

Möglichkeiten, wie WSTM-Bibliotheksfunktionen durch das Add-on für Firefox: wikipedia-references-creator genutzt werden können.

  • Der JS-Code müsste in die /lib kopiert werden.
    • Ich trau mich nicht ...
  • In Evaluate an der bewussten Stelle (Zeile 167) ersetzen durch:
  • Ref.ISBN = require("./WSTMwrc").formatISBN(Ref.ISBN);
    • Das ist einfach ...
  • formatISBN() ist eine Funktion, die als Parameter eine nicht notwendigerweise getrimmte ISBN (ohne vorangestelltes ISBN) erwartet und eine Zeichenkette mit der formatierten Eingabe zurückgibt; angehängt ggf. Fehlermeldungen, insbesondere bei „formal falscher“ ISBN (ungültige Prüfziffer).
    • Ich dreh durch. Das geht ...  Ok