Friendly coding suggestions:
- Dominant language
- C++
- Stars
- 0
- Forks
- 0
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 1
Description
Opened by @whit2333 at https://eicweb.phy.anl.gov/EIC/irt/-/issues/5
***
Here are some comments I have to make while briefly going through the code.
- [ ] ROOT's TObject is not really needed anymore.
- [ ] Avoid using ROOT specific-stuff unless it is really needed. Example from my experience, `TRef` is usually more of a headache than helpful.
- [x] From my other issue about using `#include` quotes : https://stackoverflow.com/a/3162067/13377601
- [ ] Avoid unnecessary inheritance. Example: `TObject -> TransientParticle -> {ChargedParticle, OpticalPhoton}`. I do not see any polymorphism in the interface so there is no need for inheritance at all here.
- [ ] The code is hard to read with all the pre-processor defines and logic.
- [ ] The `IRT::Solve` member function should (ideally) be `const`.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue lists broad concerns about ROOT dependencies, inheritance, preprocessor logic, and making IRT::Solve const, but names no files or tests. Start by locating the TransientParticle hierarchy and IRT::Solve, then separate the concerns into scoped changes. Done would require agreed criteria for each refactor and validation that the library still builds and behaves correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100