Entwicklungsumgebung - pigtastic/UBQ-Smarthome GitHub Wiki

VSCode

VSCode ist ein Quelltext-Editor der von Microsoft als OpenSource entwickelt wird. Der Editor steht kostenlos zur Verfügung. Auch können verschiedene Entwickler an dem Projekt teilhaben und mitwirken.

Visual Studio Code (VSCode) ist auf allen gängigen Betriebsystemen wie Windows, MacOs und Linux plattformübergreifend verfügbar. Ermöglicht wird das über das Framework Electron. Dieses Framework macht es möglich Webapplikationen als Desktop Apps zu deployen. VSCode ist nämlich in Javascript und Typescript geschrieben und könnte daher in jedem modernen Webbrowser ausgeführt werden.

Es werden nahezu alle gängigen Programmiersprachen unterstützt. Für Syntaxhighlighting, Debugging oder Autovervollständigung stehen zahlreiche Plugins zur Verfügung. Für dieses Projekt waren besonders Plugins wie Angular Snippets, ESLint und GraphQL hilfreich. Für eine schönere Optik der Dateien wurde vscode-icons genutzt. Dieses Plugin ersetzt die Standard Datei Symbole durch zum Dateityp passende.

Um besonders sauberen Code zu schreiben wurde auch CodeMetrics benutzt. Dieses Plugin überprüft die zyklomatische Komplexität von Methoden. Um falsch geschriebene Wörter zu identifizieren wurde CodeSpellChecker benutzt.

Um den Code Style gleich zu halten wurde für das gesamte Projekt ESLint eingeführt. Das sorgt für Code Style Guidelines dafür, dass der Code über das gesamte Projekt konsistent bleibt. Dadurch werden auch viele Merge Konflikte vermieden. ESLint steht für die IDE auch als Plugin zur Verfügung, sodass Missachtungen der Guidelines direkt gehilighted werden können.

IntelliJ IDEA

IntelliJ ist eine IDE des Unternehmens JetBrains und streng genommen für die Programmiersprachen Java, Kotlin, Groove und Scala gedacht. Es ist möglich durch Plugins den Funktionsumfang so erweitern, dass auch Programme in JavaScript bzw. TypeScript problemlos damit entwickelt werden können.

Auch in dieser IDE wurde via Plugin zyklomatische Komplextiät geprüft und ein automatisiertes ESLint durchgeführt.