-
Notifications
You must be signed in to change notification settings - Fork 130
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
Changes to make_clean_names() breaks packages on CRAN #513
Comments
I lean toward option 3. I prefer the new behavior, but having breaking behavior will be problematic with short notice. |
Sounds like either way the immediate move is to remove the breaking change for 2.2 to buy some time. Time for me to try out I wonder also if the next release would be the a good time to implement #240 and split the package up, especially if janitor became tidytab and custodian (??) or something and janitor got left behind in maintenance mode... |
I like the idea of implementing #240 (as I have for a while). I'd lean toward janitor keeping the name and |
I've been thinking a bit more about it. How about we do the following for the release:
|
Under that paradigm, would the intended behavior for current janitor users be: see the deprecation warning upon updating to the new version, start using Then when the next version (2.3 or 3.0) comes out, they can go back to And then I imagine we'd leave that |
Yeah, I think that current users would get a warning that there will be a change in the next version. The goal is that we enable a smooth transition path for users and packages. And, yeah, we would leave |
I keep thinking about this and feel increasingly confident that we should revert back to the old behavior. Here's my analysis of the tradeoffs of the new approach: Pros
Neutral
Cons
I don't think I'm up for committing to the additional maintainer work, now and in the future, but even if I was, I worry that this will be a net-negative for the janitor user base who will mostly experience additional friction. I propose reverting to Jason's earlier version of #497 where the while loop can be avoided. We could avoid it with |
That makes sense to me. I've been working through a project of mine from 10 years ago this morning. I'm really appreciating stable interfaces, and I've been struggling to figure out why I did some of the things that I did then. More friction should be for a strong reasons, and I think that we can accomplish this in a way that preserves backward compatibility as you outlined. |
Thanks, Bill. I will take a crack at implementing as described above, starting with Jason's initial work, and I'll ping you when it's ready for review. |
I started trying to do the latter and I don't think it's viable. because the default call to Too nuanced and hazy, I just went with |
This is fixed in #519, @billdenney I'll tag you for review - let me know whether you're able to review this coming week. |
I'm on it. |
Fixed by #519 |
Re: this matter #495 (comment)
The breaking change to how duplicate names are assigned suffixes
_1
_2
etc. breaks tests in at least the BFS and nflfastR packages.To resolve it, I see at least these options:
make_clean_names
. Submit this month to CRAN.I lean toward 1 (if we have bandwidth now) or 2 (if not). Seeing a couple of CRAN packages that depended on the old behavior makes me think of all the users whose scripts will be similarly affected. I don't think our change in the
make_clean_names
output is an improvement, it's neutral IMO - and while it improves the janitor codebase, I think avoiding major disruption outweighs that.The text was updated successfully, but these errors were encountered: