-
Notifications
You must be signed in to change notification settings - Fork 13
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
Coding standards v3 #70
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.
This is great. I have some suggestions in the comments. I also have one concern related to stability:
Firstly
If we're including whole upstream rulesets indiscriminately (as opposed to rule-by-rule), we run the risk that upstream changes and additions will cause sudden, unexpected failures when projects update their dependencies.[1] We could pin to specific versions to avoid that, but then we expose our users to version conflicts. I wonder if we shouldn't do this:
- Literally copy the entire upstream rulesets into ours so that we can release breaking changes on our own schedule.
- Create separate "Edge" standards for Drupal and PHP and add new upstream rules there so that changes are completely predictable.
- Possibly create a CI job to detect upstream additions so we're sure to notice and add them.
Secondly
As to whether we should rename these to public/private, that's a different way of thinking about the whole distinction than we've used in the past. We previously implied that "Strict" was better if you could manage it, whereas now it seems like we're saying they're actually appropriate or inappropriate based on context. I'm fine with the shift, but public vs. private doesn't seem quite right to me. It seems more like open source vs. proprietary. This represents late developing on my part and conflicts with some of my comments on the actual code, but I think it might actually address some of the discomfort I was expressing there.
[1] Unless all of our upstream dependencies carefully observe Semver, which we can scarcely hope for, much less depend on.
Co-authored-by: Travis Carden <[email protected]>
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.
I found a few little things I went ahead and just fixed real quick. I'm happy with it now. Ship it! 🙂
This reverts commit 3a9f620.
The goal of v3 is to simplify and decouple the standards, as described in the readme:
To do:
References: