Kollenda: Saubere Programmierung mit JavaScript?

Beitrag lesen

zurzeit arbeite ich an einer Software die leider massiv auf JavaScript setzt

Willkommen im 21. Jahrhundert :-D

// Hier fängt es schon an... Was soll sowas?! Also haben wir nun L.map und L.Map, super! L.map = function (id, options) { return new L.Map(id, options); };

Es wird einen Grund haben, warum das Erzeugen von Instanzen hier noch einmal mit einer Factory-Funktion gekapselt ist. Zum Beispiel könnte hier ein Cache eingesetzt werden, sodass pro ID nur eine Map erzeugt wird.

  1. Wie arbeitet ihr in größeren JavaScript-Projekten um den Quellcode sauber zu halten?

Verschiedenes ... von der Verwendung von ES6 Modulen, Klassen, funktionaler Programmierung bis hin zu Linting mit Eslint.

  1. Welchen OOP-Ansatz verwendet ihr, wenn ihr denn einen verwendet?

ECMAScript 6 Klassen. Oder direkt prototypische Vererbung wenn Klassen zuviel sind.

  1. Wo kommt dieses extend und include her? Kann es sein, dass das von jQuery oder dergleichen kommt? Ich bin mir da ehrlich gesagt nicht sicher.

Das ist wahrscheinlich von einer Bibliothek. Aber nicht von jQuery. Das sieht aus wie die Vererbungstools von Backbone.js oder Ampersand.js.

  1. Bevorzugt ihr JavaScript-Compiler gegenüber reinem JavaScript? Wenn ja, welche gefallen euch und wieso?

Standardmäßiges ECMAScript 6 mit Babel. Wenn nötig einige Babel-Plugins für zukünftige ECMAScript Features in den höheren Stages.

  1. Ich glaube ja, dass JS-Compiler das Debuggen erschweren können, weil sie aus class und anderen Konstrukten kryptischen JavaScript-Code erzeugen.

Sie erschweren das Debuggen ein wenig, aber es gibt Source Maps, die einem im Debugger den Originalcode zeigen.

MfG Kollenda