1. Coding

1.1. Conventions

Note

Currently only as unordered list. Improve (regarding contribution and origin of material).

  • Each (significant) submission will be reviewed by another team member who might modify it further.
  • Tests have to be programmed for all major parts. Tests have to be performed regularly.
  • Code that syntax errors should never be submitted.
  • Doc comments have to be added for all methods / classes / modules at submission level. At the latest when the code has matured extensive documentation is a must.
  • Always add the GPLv3+ header to new files. Also add name and creation year. They indicate your consent to the open source license.
  • Task driven development with short tasks is preferred.
  • If chats are conducted, the log will be archived online. Any private information will be deleted before.
  • Everything is conducted in the most simple and straightforward way. If a well supported/mature library is available, which is not too complex or overpowered on it’s own, we will always prefer it to coding self.
  • Minor tasks will have minor priority. Top priority is always to make the game running, everything else comes later.
  • We will not sacrifice clarity for a fast hack. A hack that works somehow but cannot be sufficiently explained or a hack that requires cumbersome or unmotivated modifications should be rejected and the code should be redesigned instead.

1.2. Wisdom

  • Do not import QtWebEngineWidgets before importing QtCore, app will not exit properly on Windows with PyQt5