Task-Tracker-Systems / Task-Tracker-Device

Sources for a task time recording device.
https://task-tracker-systems.github.io/Task-Tracker-Device/
MIT License
2 stars 0 forks source link

Provide exchangeable interface adapters for the board and shift register libraries #31

Closed dhebbeker closed 8 months ago

dhebbeker commented 1 year ago

The objective of this pull request is to design interface adapters which provide the functionality necessary for the application's use cases to interact with the input devices and the status indicators of the board.

The design shall be such that the use cases do not depend on

This design facilitates to exchange the board, the libraries or the framework later on. This is desirable because this way we can change those details (things the application's use cases don't care about) without the need to adjust the implementation of the use cases.

dhebbeker commented 1 year ago

I think I found an answer to the question above about whether to put modules into src or lib directory.

The PlatformIO documentation explains:

By default, PlatformIO does not build the main source code from the src_dir folder in pair with a test source code. [...] We recommend splitting the source code into multiple components and placing them into the lib_dir (project’s private libraries and components).

Although this is not the only option available for unit tests, but the recommended one.

I infer that:

dhebbeker commented 1 year ago
dhebbeker commented 1 year ago

This diagram has been created with Sourcetrail using the Custom Trail function and the following settings:

class_dependencies