Replies: 2 comments
-
I've also left off all the |
Beta Was this translation helpful? Give feedback.
0 replies
-
Nomenclature plusses:
Exceptions that stand out:
I wonder if we can universally replace |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Can we do a better job of naming our classes (e.g. with Params/Store/View/TrackView/...) so that they're consistent and understandable without having to dive into what they're actually doing? To help, I've tabulated essentially all of the current classes in
src/
and expanded on what they do under the hood and how they're used.Here are essentially all the classes in the main Celeritas codebase, with annotations about being host/device and several other groupings.
For data model:
The interface is a little fuzzier.
struct
that has only public data and a default constructor. (It can also have additional convenience methods.)operator()
.I've also tagged whether the class constructor is "no-op" meaning it's effectively free -- it doesn't do anything except perhaps a pointer increment. We shouldn't in practice have to worry about whether a class constructor is cheap or not, so perhaps that should factor into the naming.
Finally, I've tagged most of the classes on whether the data they own/operate on is:
Device-compatible classes are grouped first since their meaning is the least consistent and we should address those. Then they're sorted by data model, then interface.
Beta Was this translation helpful? Give feedback.
All reactions