Hallo Dominik,
vielen Dank für deine Anfrage. Die Entwicklungen klingen sehr spannend.
Generell arbeiten wir nach dem “GitHub flow”-Prinzip: https://guides.github.com/introduction/flow/ - d.h.
- Jeder Entwickler arbeitet in seinem eigenen Branch und entwickelt dort seine Funktion. Üblicherweise heißt so ein Branch dann “feature/funktionXY”
- Der Entwickler erstellt in Github einen Pull-Request
- Andere Entwickler “reviewen” den Code. Dabei schauen wir auf…
3.1 die Umsetzung der Funktion an sich und wie sich diese in die Architektur von OpenEMS einfügt
3.2 Dokumentation (insb. readme.adoc und bnd.bnd)
3.3 Code-Qualität (Best Practices, Einhaltung der Java Coding Conventions, unnötige system.out.println, Fehler/Warnungen in Eclipse, Checkstyle - wir haben geplant das mal zu dokumentieren, aktueller Stand ist hier: https://github.com/OpenEMS/openems/pull/1006/files)
Je nach Größe des Pull-Requests kann dieser Vorgang mehr oder weniger lang dauern. Empfehlenswert ist in jedem Fall, einzelne Funktionen in einzelne Pull-Requests zu trennen - also einen Pull-Request für Wettervorhersage, einen für Sonnenauf/untergang, einen für Ladestation, usw.
Am besten starten wir mal mit der einfachsten Entwicklung und exerzieren daran mal den Prozess durch, ok?
Wenn eine Funktion nocht nicht fertig ist, kann ein Pull-Request auch als “Draft” (Entwurf) gestartet werden. Dann wissen zumindest die anderen Mitglieder in der Community schon einmal, dass eine bestimmte Funktion entwickelt wird und können vielleicht auch schon einen ersten Blick auf den Code werfen und Rückmeldungen geben.
Gruß,
Stefan