Simplification of the content of component folders #1979
Replies: 3 comments 6 replies
-
We need to come to a decision as to what these In general, I prefer a flatter structure for the actual source (.fpp, .cpp, .hpp), and I'd remove all README.md files. Tests come in two flavors: I welcome input from the larger community as to their needs. |
Beta Was this translation helpful? Give feedback.
-
As someone who has used fprime for a few years in the context of university level CubeSat projects , I am in favor of more detailed SDD’s. I and the rest of my team find them extremely helpful for understanding the use cases and implementation of various components. However, this is only helpful when the documentation is updated and accurate, which, as @ThibFrgsGmz mentioned, is not always the case! |
Beta Was this translation helpful? Give feedback.
-
For component SDDs, tables of ports and dictionary entries (commands, channels, etc.) can be easily auto-generated from the FPP model. We are currently working on a tool called |
Beta Was this translation helpful? Give feedback.
-
Hello everyone,
What do you think about a homogeneous update of the content of the component folders?
Some information in the
SDD.md
orREADME
of the components is completely out of sync with the content of the component and itsFPP
model. Some of these files have not evolved for 6 years for example.Personally, I have always wondered about the relevance of the content of some
sdd.md
orREADME
files.They contain redundant information compared to the FPP model which is the source of truth. Keeping them synchronized represents a significant additional maintenance effort. When comparing the
SDD.md
and the models, I wonder about the legitimacy of the model and the source code of the components.Wouldn't it be better to try to keep it as simple as possible and to include in these files only the information that cannot be contained in the model? For example, the functional description, the use cases, the explanations about the design, the limitations...
Let's take the example of the
ActiveLogger
component:There is a
README
file (https://github.com/nasa/fprime/blob/master/Svc/ActiveLogger/README) that is no longer up to date and whose presence leads us to wonder.Concerning the content of its
docs/
folder, there areExcel
files that are difficult to manage in version management.For its SDD (https://github.com/nasa/fprime/blob/master/Svc/ActiveLogger/docs/sdd.md): it contains a "Requirements" section which is not presented in all components (like FileManager: https://github.com/nasa/fprime/blob/master/Svc/FileManager/docs/sdd.md°).
The "Ports" section is not synchronized with what is written in the
FPP
model.If we also take the https://github.com/nasa/fprime/tree/master/Svc/FileManager component, not to mention the fact that its
SDD
is almost empty, we see aModel/
folder whose contents I understand to be a relic of the past.Personally, I would keep it as simple as possible to make it as easy to maintain as possible:
README.md
file that would be the oldSDD.md
and only contain a functional description. (NamedREADME.md
to get the GitHub preview when browsing the component folder).FPP
model file.cpp/.h
files for the implementation class of the component.test.cpp
file for the component unit tests.Depending on the complexity of the component, we can classify the files into folders. For example,
model/
folder for all the FPP files,src/
file for all the implementation files and finallytest/
folder for all the unit tests (without creating a ut/ sub-folder).Beta Was this translation helpful? Give feedback.
All reactions