`SignalIn`/`SignalOut` names are overloaded
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 27
- Forks
- 11
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 23
Description
@superwhiskers, @lukelowry, @abirchfield, @pelesh, @nkoukpaizan
TL;DR: The new SignalIn and SignalOut classes introduce some terminology confusion and should be renamed.
I failed to point this out before #570 was merged (great work on that, btw @superwhiskers).
This overloading of the terminology was part of the motivation behind the re-design. Based on multiple conversations leading to that design, my understanding was that there were three separate concepts all being referred to as "signals"...
- the actual "signal" (the value)
- the "signal node" carrying the signal
- the "port" by which a component sends or receives the signal
... and that we wanted to distinguish between those concepts, especially because they are all used together in the same context.
Since the terms SignalIn and SignalOut refer to the variable values that are communicated over signal nodes (and are in fact already used with that meaning in ComponentData), it doesn't make sense to use those names to refer to the "port" classes that receive/send those values.
I originally used simply InputPort and OutputPort. If the name itself needs to communicate that these are used exclusively for "signal" communication, it could be SignalInputPort and SignalOutputPort (but in that case we might also want to rename Port and PortGroup for consistency).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the SignalIn and SignalOut changes from #570 and search their definitions and usages, including ComponentData, Port, and PortGroup. Confirm the intended distinction between signal values, signal nodes, and ports with the issue participants. Done means an agreed naming scheme is applied consistently across the affected API and references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100