Forum für Code Review und Testing gesucht
Frank
- zu diesem forum
- zu diesem forum
Hallo,
ich habe eine Drag and Drop-JavaScript-Bibliothek (OpenSource) entwickelt, weil mir alle bisherigen Lösungen, die ich gefunden habe, nicht ausgereicht haben. Die Anwendung soll natürlich Cross-Browser-, Cross-Plattform- und Cross-Device-fähig sein und ist auch schon unter Windows, IOS und Android mit verschiedenen Browsern getestet. Dennoch wären ein paar weitere Tests hilfreich. Gibt es ein Forum, eine Plattform auf der sich Entwickler gegenseitig beim Testen unterstützen? Weiß da jemand was?
Außerdem versuche ich Clean Code zu produzieren. Gibt es hierfür auch ein Code Review Forum?
Danke und VG Frank
Hier hat vermutlich keiner Lust zu testen oder zu reviewen? ;-)
Hier hat vermutlich keiner Lust zu testen oder zu reviewen? ;-)
Die Frage ist ob Du Kritik verträgst.
Klar! Man wird ja irgendwann blind, wenn man sich immer selbst testet und reviewt (Bock und Gärtner in einer Person) ;-)
Hallo Frank,
Hier hat vermutlich keiner Lust zu testen oder zu reviewen? ;-)
Zum unverbindlichen Ausprobieren sicher.
Bis demnächst
Matthias
Hallo Frank,
Hier hat vermutlich keiner Lust zu testen oder zu reviewen? ;-)
ich habe hier auch schon um Tests gebeten und zielführende Antworten erhalten. Als Einzelkämpfer oder Hobbyprogrammierer kann man sich ja garnicht alle Gerätetypen leisten.
Du kannst deine Frage auch mit „Seitenbewertung“ taggen.
Gruß
Jürgen
PS Als Dankeschön hat es dann einen Wiki-Artikel gegeben
Also gut! 😀
Hier der Link zu einer Testseite:
http://paloula.de/dragdrop/gallery.html
Der Sourcecode ist hier: https://github.com/Paloula/DragDropEasy
Danke schon mal im Voraus!
hallo
Hier der Link zu einer Testseite:
http://paloula.de/dragdrop/gallery.html
Der Sourcecode ist hier: https://github.com/Paloula/DragDropEasy
Danke schon mal im Voraus!
de.paloula.xml.commons.PaloulaXmlException: [0001] [com.paloula.xml.SequenceDocument] The desired element is null. Element with id:
+multiselect + copy
Ich habe ein Bild von Links nach Mitte und wieder zurück kopiert.
Danke!
Ich konnte es aber leider nicht nachstellen... Mhmm?
Was ist Deine Umgebung (OS/Browser)?
hallo
Danke!
Ich konnte es aber leider nicht nachstellen... Mhmm?
Was ist Deine Umgebung (OS/Browser)?
Firefox, windows.
Da sind noch andere Bugs, Bilder lassen sich nicht selektieren, was auf korrrupte IDs schliessen lässt.
Schieber ist auf Multiselect? Sagt die Console etwas?
hallo
Schieber ist auf Multiselect? Sagt die Console etwas?
Derzeit meldet die Console
[Mitteilungsdetails anzeigen/ausblenden] SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data[Weitere Informationen] dragdropexamples.js:46:25
error http://paloula.de/dragdrop/app/js/dragdropexamples.js:46:25 i http://paloula.de/dragdrop/app/js/jquery-3.2.1.min.js:2:28012 fireWith http://paloula.de/dragdrop/app/js/jquery-3.2.1.min.js:2:28783 A http://paloula.de/dragdrop/app/js/jquery-3.2.1.min.js:4:14058 c/< http://paloula.de/dragdrop/app/js/jquery-3.2.1.min.js:4:16323
Danke Beat!
Kann noch jemand den Fehler nachvollziehen? Ich kann es leider nicht.
hallo
Danke Beat!
Kann noch jemand den Fehler nachvollziehen? Ich kann es leider nicht.
Kannst du mal eine Seite kreieren, die allein das Clientseitige Verhalten testet?
Ich verstehe nicht, was der Server in dem Ganzen Prozess zu tun hat.
Der Server sorgt dafür, dass nach dem Neuladen der Seite die Bilder nicht wieder zurückgesetzt werden, hat mit dem eigentlichen DragDrop also nichts zu tun…
Muss kurz den Server neu starten, dann:
http://paloula.de/dragdropclient/gallery.html
hallo
hallo
Schieber ist auf Multiselect? Sagt die Console etwas?
Derzeit meldet die Console
…
Da ging noch ein 500 Server Error voran
Da war wohl der Server kurz weg und AJAX erwartet ein JSON als Antwort, dass konnte aber nicht geparst werden. Das muss ich noch abfangen. Danke, das war hilfreich!
Der Sourcecode ist hier: https://github.com/Paloula/DragDropEasy
Leider ohne Dokumentation.
Der Sourcecode ist hier: https://github.com/Paloula/DragDropEasy
Leider ohne Dokumentation.
Das stimmt, leider bin ich noch nicht soweit. Ich hab versucht, in github/Readme eine Doku einzufügen, aber die Codezeilen wurden zu Listenbullets. Ich kapiere die Formatierung dort nicht.
Tach!
Ich hab versucht, in github/Readme eine Doku einzufügen, aber die Codezeilen wurden zu Listenbullets. Ich kapiere die Formatierung dort nicht.
Die Endung .md steht für Markdown. Das ist dieselbe Syntax, wie sie hier im Forum verwendet wird (abgesehen vom Dialekt).
dedlfix.
Eine Doku ist wie eine Bewerbung:
Die ersten 1..3 Sätze sollten das Interesse wecken, also beschreiben, was Deine Lib macht und für was sie gut ist. So kann hier bereits ein Anwender entscheiden ob er sie überhaupt nutzen will.
Erst in den nächsten Abschnitten beschreibst Du das wie. Und das ist auch einer Bewerbung ähnlich, der Anwender soll daran sehen, wie er mit Deiner Lib seine bisherigen Prozesse vereinfachen kann.
MfG
Tach!
Der Sourcecode ist hier: https://github.com/Paloula/DragDropEasy
Ich hab mir nicht alles angeschaut, aber ein paar Dinge sind mir aufgefallen.
Vergleiche à la if (irgendwas == true)
sind unnötig geschwätzig. "Ist es wahr, dass irgendwas wahr ist" lässt sich auch als "ist irgendwas" notieren, also if (irgendwas)
.
Da ist ein $($("<div class='paloula-selected'></div>"))
, was mir nach unnötiger Schachtelung aussieht, weil der innere Aufruf bereits ein jQuery-Objekt liefert.
Funktionen als var name = function () {...};
zu definieren, ist unnötig Schreibarbeit, wenn statt var
auch const
genommen werden könnte. Das kann man einfacher als function name() {...}
schreiben. Zu beachten ist aber der feine Unterschied, dass letzteres direkt nach dem Code-Parsen zur Verfügung steht, ersteres erst, wenn die Ausführung des Codes an der Stelle vorbeigekommen ist. Meist braucht man aber einfach nur eine Funktion und benötigt nicht Javascripts Konzept, dass Funktionen "first-class citizens" sind, also dass sie wie Variablen behandelt werden. Besonders nicht, wenn sie const
sein können.
Allgemein: Nimm mal einen JS-Linter, und am besten eine IDE mit eingebautem Linter, die dir gleich alle Ungereimtheiten beim Tippen anzeigt. Da sind jede Menge Semikolon-Inkonsistenzen und andere Geschichten in deinem Code.
Leerzeichen am Zeilenende können weg. Sowas machen Editoren auch von selbst, wenn man es ihnen konfiguriert.
In Code wie diesem ist die Variable x zweimal deklariert.
if (bedingung) {
var x = 23;
// mehr Code
} else {
var x = 42;
// mehr Code
}
Das Schlüsselwort var
wird aber nur einmal pro Scope benötigt, auch wenn der erste Schreibzugriff auf die Variable bedingt erfolgt. var
wird bereits vom Parser berücksichtigt und findet nicht erst zur Laufzeit Anwendung. Das zweite var kann also weg, oder besser die Deklaration eine Klammernebene nach außen verlegen.
var x;
if (bedingung) {
x = 23;
// mehr Code
} else {
x = 42;
// mehr Code
}
dedlfix.
Hallo dedlfix,
vielen Dank für Deine Hinweise!
Weißt Du ob es ein Linter-Plugin für Notepad++ gibt oder kannst Du ein JS-IDE empfehlen?
Danke! Frank
hallo
Hallo dedlfix,
vielen Dank für Deine Hinweise!
Weißt Du ob es ein Linter-Plugin für Notepad++ gibt oder kannst Du ein JS-IDE empfehlen?
Der Plagin Manager zeigt
JS Lint
A Notepad++ plugin that allows users to run JSLint (The JavaScript Code Quality Tool) against their open JavaScript files (more about JSLint at http://www.jslint.com/lint.html).
Author: Martin Vladic
Source: https://sourceforge.net/projects/jslintnpp/
Latest update: 0.8.3
- Bug fixed: "#12 Doesn't work with Javascript/JSON files in newer versions of N++"
- JSLint script updated to version from 2015-11-16
- JSHint script updated to version 2.6.3 (Warning: versions of JSHint newer than 2.6.3 doesn't work anymore with the version of V8 JavaScript engine that this plugin is using!!!)
0.8.2
- JSHint download URL changed to https://raw.github.com/jshint/jshint/master/dist/jshint.js (let's hope this doesn't change in the future).
- Detection of JSHint version number added. It is read from the first line of source file (let's hope this doesn't change in the future, too).
- JSLint script updated to version from 2013-11-23
- JSHint script updated to version 2.3.0
0.8.1
- JSLint script updated to version from 2012-11-17
- JSHint script updated to version downloaded from www.jshint.com on 2012-11-22
- Bugs fixed:
- "Cannot update to latest jshint (download link returns 404)"
- "Invalid jshint url in about dialog"
Tach!
Weißt Du ob es ein Linter-Plugin für Notepad++ gibt oder kannst Du ein JS-IDE empfehlen?
Für ernsthafte Softwareentwicklung nehme ich Notepad++ nicht, nur für Textbearbeitung und für "kurz mal drei Zeilen Code geschrieben".
Generell kann ich die IDEs von JetBrains empfehlen. Die sind nicht frei, kosten aber auch nicht die Welt (Einzelnutzer-Lizenzen). Und es ist ein Abo-Model, wenn man die regelmäßigen Updates bekommen möchte.
Außerdem ist noch der Visual Studio Code sehr beliebt. Für den gibts jede Menge Plugins, aber mehr kann ich dazu nicht sagen, weil ich ihn noch nicht verwendet habe.
dedlfix.
Da ist ein
$($("<div class='paloula-selected'></div>"))
, was mir nach unnötiger Schachtelung aussieht, weil der innere Aufruf bereits ein jQuery-Objekt liefert.
Was ich noch sagen wollte: Das doppelte $($("<div class='paloula-selected'></div>")) erzeugt ein jQuery-Objekt
var html = $("<div class='paloula-selected'></div>");
html.css();
würde nicht funktionieren.
var html = $($("<div class='paloula-selected'></div>"));
html.css();
schon.
Tach!
Da ist ein
$($("<div class='paloula-selected'></div>"))
, was mir nach unnötiger Schachtelung aussieht, weil der innere Aufruf bereits ein jQuery-Objekt liefert.Was ich noch sagen wollte: Das doppelte $($("<div class='paloula-selected'></div>")) erzeugt ein jQuery-Objekt
Der einfache Aufruf erzeugt bereits ein jQuery-Objekt. Der zweite Aufruf ändert daran nichts mehr.
var html = $("<div class='paloula-selected'></div>"); html.css();
würde nicht funktionieren.
Doch, doch, problemlos.
dedlfix.
Stimmt! Ich weiß nicht mehr, woher ich das habe...