128 lines
5.1 KiB
Markdown
128 lines
5.1 KiB
Markdown
# ToDo 49 — Cleanup vor Auslieferung
|
||
|
||
Dieser Cleanup wird als letzter Schritt vor einer Auslieferung durchgeführt, nachdem
|
||
die funktionalen ToDos abgeschlossen sind. Einige Punkte sind bereits jetzt erledigbar,
|
||
andere hängen von vorgelagerten ToDos ab.
|
||
|
||
---
|
||
|
||
## 1. ToDo-Dateien aufräumen
|
||
|
||
**Vollständig erledigte ToDos löschen** (alle Punkte `[x]`, keine offenen):
|
||
|
||
- [ ] `doc/ToDo_1_Parsing.md` — vollständig erledigt
|
||
- [ ] `doc/ToDo_2_Anbindung.md` — vollständig erledigt
|
||
- [ ] `doc/ToDo_5_API.md` — vollständig erledigt
|
||
- [ ] `doc/ToDo_8_Bugs.md` — vollständig erledigt (nutzt `✅`-Marker statt `[x]`)
|
||
|
||
**Teilweise erledigte ToDos bereinigen:**
|
||
|
||
- [ ] `doc/ToDo_7_Tests.md` — erledigte Punkte entfernen, nur offene behalten
|
||
|
||
**README.md-Tabelle anpassen:**
|
||
|
||
- [ ] Zeilen der gelöschten ToDo-Dateien aus der Tabelle entfernen
|
||
- [ ] Prioritätsreihenfolge im README auf den aktuellen Stand bringen
|
||
|
||
---
|
||
|
||
## 2. README.md Review
|
||
|
||
- [ ] Alle Abschnitte auf Aktualität prüfen — insbesondere nach den Refactorings aus
|
||
ToDo_1, ToDo_2, ToDo_5
|
||
- [x] `robot/Robot.js` ist nach ToDo_12 entfernt; README beschreibt jetzt
|
||
`RobotBase.js` + `kinematics/Arm3SegmentLinearX.js` + `KinematicsFactory.js`
|
||
- [ ] Env-Variablen-Liste: `ROBOT_KINEMATICS` und `ROBOT_KINEMATICS_PARAMS` ergänzen
|
||
(nach ToDo_12 Phase 2)
|
||
- [ ] Tippfehler `GRBL_ELLBOW_IP` prüfen: ist das Legacy-Absicht oder korrigierbar?
|
||
- [ ] Laufzeitvoraussetzungen: `logs/`-Verzeichnis-Hinweis prüfen (nach ToDo_3 evtl. obsolet)
|
||
- [ ] Einmal vollständig lesen und gegen den tatsächlichen Code abgleichen
|
||
|
||
---
|
||
|
||
## 3. Toter Code entfernen
|
||
|
||
Folgende Felder in `robot/RobotBase.js` (seit ToDo_12 dorthin gewandert) werden
|
||
nirgendwo im Projekt gelesen oder gesetzt (Grep über alle `.js` ohne `node_modules`
|
||
ergibt nur die Deklaration selbst):
|
||
|
||
- [ ] `this.speedX`, `this.speedY`, `this.speedZ` — nie referenziert
|
||
- [ ] `this.doAnimate` — nie referenziert
|
||
- [ ] `this.showFunctions` — nie referenziert
|
||
- [ ] `this.lastCommandSend` / `this.oldCommandTime` — gesetzt, nie gelesen
|
||
- [ ] `this.savedPoints`, `this.atPointNr` — gesetzt, nie gelesen
|
||
|
||
Folgende Methoden in `robot/GCode.js` werden nie aufgerufen:
|
||
|
||
- [ ] `containsMCode()` — hat einen Test, wird im Produktivcode aber nie aufgerufen;
|
||
entweder integrieren oder entfernen (inklusive Test)
|
||
- [ ] `receiveMCode()` — nie aufgerufen, kann entfernt werden
|
||
|
||
---
|
||
|
||
## 4. `robot/Robot.js` Alias aufräumen *(abhängig von ToDo_12 Phase 2)*
|
||
|
||
- [x] **Erledigt:** Statt eines dauerhaften Alias wurde `robot/Robot.js` nach
|
||
Abschluss von ToDo_12 Phase 0–2 **vollständig entfernt**. Alle Tests importieren
|
||
jetzt direkt `robot/kinematics/Arm3SegmentLinearX` bzw. `robot/RobotBase`.
|
||
Produktivcode geht ohnehin über `robot/KinematicsFactory.js`. Damit entfällt der
|
||
Übergangsalias komplett.
|
||
|
||
---
|
||
|
||
## 5. Sicherheit: Zertifikate und private Schlüssel aus Git entfernen
|
||
|
||
Die folgenden Dateien liegen aktuell im Repository und sollten dort **nicht** sein:
|
||
|
||
- [ ] `https/localhost.key` — privater Schlüssel
|
||
- [ ] `https/localhost2.key` — privater Schlüssel
|
||
- [ ] `https/key.pem` — privater Schlüssel
|
||
- [ ] `https/localhost.pem` — Zertifikat
|
||
- [ ] `https/cert_abcd.pfx` — enthält privaten Schlüssel
|
||
- [ ] Diese Dateien aus Git-History entfernen (`git filter-repo` oder `BFG`)
|
||
- [ ] `.gitignore` um `https/*.key`, `https/*.pem`, `https/*.pfx`, `https/*.cer` ergänzen
|
||
- [ ] Eine `https/README.md` oder `https/EXAMPLE.md` anlegen mit Anleitung zur
|
||
Zertifikatserzeugung (z. B. `openssl` self-signed für lokale Entwicklung)
|
||
|
||
---
|
||
|
||
## 6. GCodeFiles/ aus Git entfernen
|
||
|
||
`GCodeFiles/` enthält Nutzungsprotokolle aus 2025 — das ist Laufzeitdata, kein Quellcode.
|
||
|
||
- [ ] `.gitignore` um `GCodeFiles/*.gcode` ergänzen (oder `GCodeFiles/log*.gcode`)
|
||
- [ ] Eine Beispieldatei `GCodeFiles/example.gcode` ins Repository nehmen
|
||
- [ ] Bestehende Log-Dateien aus Git-History entfernen (optional, je nach Sensitivität)
|
||
|
||
---
|
||
|
||
## 7. Naming-Inkonsistenz: `WSSenderGrbl.js`
|
||
|
||
- [ ] `WSSenderGrbl.js` exportiert eine Klasse namens `TelnetSenderGRBL` — das ist
|
||
der alte Name aus der Telnet-Ära
|
||
- [ ] Klasse in `WSSenderGrbl.js` umbenennen auf `WSSenderGrbl`
|
||
- [ ] Alle Importe prüfen (aktuell: `startRobot.js`, Tests)
|
||
|
||
---
|
||
|
||
## 8. Hilfsdateien prüfen
|
||
|
||
- [ ] `install.bat` / `runTest.bat` — aktuell und korrekt? Oder löschen?
|
||
- [ ] `sendTest_Client.py` — gepflegt? Ins README erwähnen oder löschen
|
||
- [ ] `https/info.txt` — Inhalt prüfen; falls nur interne Notizen: löschen
|
||
- [ ] `robot/fluidnc/FluidNCClient.js` — wird von `WSSenderGrbl.js` nicht mehr verwendet;
|
||
entweder löschen oder als "experimentell/archiviert" kennzeichnen
|
||
|
||
---
|
||
|
||
## 9. Console.log-Hygiene
|
||
|
||
Der Code hat viele `console.log`-Aufrufe — einige sind wichtig, andere Debugging-Reste.
|
||
|
||
- [ ] `robot/RobotBase.js` `sendCommand()`: ausführliches Log bei jedem Befehl — für Produktion
|
||
eher auf `debug`-Level oder hinter eine `verbose`-Flag
|
||
- [ ] `robot/GCode.js`: Motor-Position-Log in `receiveMCode` (ohnehin toter Code)
|
||
- [ ] Sinnvolle Logs behalten (Verbindungsaufbau, Fehler, Start-Info)
|
||
- [ ] Kandidat für späteren Ausbau: leichtgewichtiger Logger statt nacktem `console.log`
|
||
(z. B. Log-Level via Env-Variable)
|