… ch-Konstrukte / Befehls-Umfang einschränken
Befehls-Umfang einschränken
JayMo bietet verschiedene Alternativen und Kurzformen, was ein sehr schnelles und schlankes schreiben von JayMo-Programmen ermöglicht.
Wird ein Programm jedoch größer oder arbeiten mehrere Entwickler daran, so können Vereinfachungen zugunsten einem klarerer Quellcode deaktiviert werden.
schlank und einfach <-----> klarer Quelltext
Folgende Levels stehen dafür zur Verfügung:
| open | ( Vorgabe ) | Soll ein schnelles, einfaches und schlankes Skripten ermöglichen |
| low | Einschränkungen, die die Lesbarkeit des Quellcodes vereinheitlichen und verbessern | |
| medium | ( Normal ) | Normaler, standardisierter und klarer Quellcode |
| high | Sehr strenge Quellcode-Regeln | |
| insane | Extrem strikter Quellcode. Z.B. werden mathematische Funktionen wie + und - verboten, wodurch alle Funktionen (".add", ".sub") die selbe Priorität besitzen. |
Der Standard ist immer "open", womit alle Vereinfachungen erlaubt sind.
Ein anderes Level lässt sich als "Parser-Befehle" am Anfang der ersten Skript-Datei eingestellt:
>low
Zusätzlich existiert noch "strict" als ein Alias für "medium":
>strict
Überblick der Einschränkungen
Generell
| Beschreibung | open | low | medium | high | insane |
|---|---|---|---|---|---|
| If-Abkürzung mit () | X | - | - | - | - |
| Abkürzen von Funktionen der FunctionMap | X | - | - | - | - |
| Weglassen von Typ-Angaben zu Variablen/Parametern | X | - | - | - | - |
| Automatische Umwandlung von einer Variable in ein VarLet | X | - | - | - | - |
| Abkürzungen für Imports | X | X | - | - | - |
| Verwenden von Variablen/Konstanten ohne den Modifier '?' | X | X | - | - | - |
| Aufruf der Standard-Funktion mittels Auto-Block | X | X | - | - | - |
| Automatischer "Pass" eines Objektes an einen Block | X | X | - | - | - |
| Direkter Aufruf von Eigenschaften ohne set und get | X | X | X | - | - |
| Direkter Aufruf von Java-Klassen | X | X | X | X | - |
Objekte
| Beschreibung | open | low | medium | high | insane |
|---|---|---|---|---|---|
| Atomare Typ upgrades | X | - | - | - | - |
| Abkürzungen von magischen Variablen (°, §, ...) | X | X | - | - | - |
| Abkürzungen Shell-Befehle (´´) | X | X | X | - | - |
| Klammern: (), [], {} | X | X | X | X | - |
Funktionen
| Beschreibung | open | low | medium | high | insane |
|---|---|---|---|---|---|
| Select und Update mit {} | X | X | - | - | - |
| Abkürzungen für Range mit ".." | X | X | X | - | - |
| Setzen von Eigenschaften mit '=' | X | X | X | - | - |
| Position für Set/Get mit eckigen Klammern | X | X | X | - | - |
| Berechnungen mit Zuweisung: +=, =++, ... | X | X | X | - | - |
| Weglassen des Rückgabe-Typs einer Funktion | X | X | X | - | - |
| Mathematische Funktionen wie +, -, *, /, = | X | X | X | X | - |
| Interne Hilfe | X | X | X | X | - |
| Zuweisung mit = und , => | X | X | X | X | - |
- Powered by
OghsWiki
-