Open DaniilKl opened 1 month ago
@tym2k1 @m-iwanicki @PLangowski @macpijan marking for review, as agreed on the internal sync
@DaniilKl Am I right that https://github.com/Dasharo/dts-scripts/pull/26 partialy addresses this issue? It adds HAL and splits modules/functions based on functionality? About coding style/rules those are at least partially forced by pre-commit. Indentation will be when https://github.com/Dasharo/dts-scripts/pull/36 is merged.
The problem you're addressing (if any)
The scalability problem of a project might be caused not only by tools being used, but by the way the tools are being used as well.
1) Bad scalability; a. No explicit coding rules and style -> the code is difficult to read and modify, the coding style of every contributor overlays with others, and the codebase shortly became messy; b. Not clearly separated systems -> the way the system works is not linear and, therefore, not clear, especially for novices; c. The language, which is not suitable for large codebases -> language issues and workarounds; d. Configuration and metadata directly stored in the codebase -> not convenient to scale and support; 2) Awful testing and verification routine; a. No test cases prepared -> no empirical evidence of working features; b. No hardware separation -> QEMU cannot be used for testing and verification; 3) High entry level; a. No documentation and comments; b. Highly non-linear structure;
Describe the solution you'd like
Nodes and paths description:
board_config
function) in.json
files, as well as hardware-specific logic for HAL (some hardware-specific deploying functions and mock functions) and provides it on the start to configuration node (6).Documentation:
Tests:
meta-dts
explicitly should have two short tests: 1) To verify that it is preset; 2) To verify that it is working;Where is the value to a user, and who might that user be?
Pros:
Cons:
Describe alternatives you've considered
No response
Additional context
No response