-
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed Changed to naming convention of SJI Classes #73
Comments
@Cadair, could you give some reaction to this with your experience of the evolution of the SunPy naming conventions? Having slept on it, I am in favour of the last option, i.e. To be more abstract about it, the naming convention can be thought of as |
After personal discussion between @Cadair and myself, we believe the third option ( So @BaptistePellorceAstro, could you open a PR that changes the name of |
I'm a little late to the party, but I think that name lengths are important and 'tab complete' should not deter from that (I'm sure everyone will type at least once in places where there is no tab complete). I also haven't had time to properly reflect on all the IRISpy objects, and right now it feels really confusing to have so many classes. I don't see any reason to add More generally, I don't understand why it is necessary to have so many classes. This seems very confusing to an end-user. Why isn't everything a And finally, I think the names of the reader programs are too long (e.g. I'm sorry if this sounds like I'm complaining all the time, but I think we should get this right if we want people to start using IRISpy. There is already so much reluctance in the field to get people to change from IDL, and if it's too burdensome it will make people even less likely to try it. |
Little thought has been given to a naming convention for SJI classes. Currently, there is only one such class,
SJICube
, which was named on day 1 without consideration. However, issue #72 proposes a newSJICubeSequence
class so this is a good time to raise this issue.Since
SJICube
was first named, a naming convention has developed around the spectrograph objects:IRISSpectrogram
holds a single raster scan or sit-and-stare and is sub-classed fromNDCube
.IRISSpectrogramSequence
holds a sequence of raster scans and is subclassed fromNDCubeSequence
.IRISSpectrograph
is a container object for holdingIRISSpectrogram
orIRISSpectrogramSequence
objects from different spectral windows from the same OBS.If we were to apply this convention to SJI, we would have:
IRISMap
: holds a single cube of SJI data, described by a single WCS.IRISMapSequence
: holds multipleIRISMap
objects.IRISSJI
: a container object for holdingIRISMap
andIRISMapSequence
objects from different passbands of the same OBS.Since
Spectrogram
andMap
imply 2D data, andIRISSpectrogram
andIRISMap
/SJICube
can hold 2- or 3-D data, a more wordy but more explicit alternative would be change both naming conventions to:IRISSpectrogramCube
IRISSpectrogramCubeSequence
IRISMapCube
IRISMapCubeSequence
Although
Cube
can be taken to mean 3-D, it also can be used for any number of dimensions, as inNDCube
. So I think this naming convention would be a little more understandable for objects that can 2- or 3-D data. But is it more clear enough to warrant changing the Spectrograph API and make give the classes longer names? Name lengths are not as important as they used to be thanks for Python's tab complete, but it's a question worth asking.The text was updated successfully, but these errors were encountered: