-
Notifications
You must be signed in to change notification settings - Fork 4
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
linelist full package review #103
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall a really solid package. Happy to approve this!
I only left comments and questions for your consideration, and for future discussion.
- The package supports
data.frame
andtibble
. As I understand it,data.table
is also getting quite popular. Any thoughts on whether we want to include this in the future? - The function naming can be slightly confusing at times.
- For example,
tags_names
andtags_defaults
for some reason feel odd as they have a double plural. Here I keep typingtag_names
andtag_defaults
myself. - Another example is
lost_tags_action
which is past tense and might be more literal by being active and present - e.g.,lose_tags_action
orlosing_tags_action
- Do we want to have the discussion around object or column tagging here or park it for later, when the code is abstracted into a separate package? I don't know how important or needed the tag viewer is, proportional to the work that is needed and am raising it here because it seems relevant to the full package review domain.
- There are a few for loops in the code which might be candidates for rewrite using apply or a variant of it. I find for loops more readable myself, but I've come to learn that it's more common to write these functions instead.
I am still catching up on some of the ways the operators are defined for classes in R (e.g., [[<-.linelist
<- function`) so those were a bit harder to review at this time.
Thanks for the comments!
Probably not. Its interface differs too much from standard data.frames and it would be extremely challenging to make it fit in our framework and cover all edge cases.
No super strong opinions on this and renaming some of these functions could be done while extracting & generalizing the tagging functionality
There are some useful elements in epiverse-trace/datatagr#32 but agreed this is a discussion for 2.0.0
This blog post will hopefully convince you to give apply and its variant more love: https://epiverse-trace.github.io/posts/for-vs-apply/. 😉 This issue is now tracked in #105. |
Co-authored-by: Chris Hartgerink <chris@libscie.org>
Not to be merged. See https://epiverse-trace.github.io/blueprints/code-review.html#full-package-review.