-
Notifications
You must be signed in to change notification settings - Fork 72
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
Share error code namespace #68
Comments
@xZise is this related to https://gitlab.com/pycqa/flake8/issues/141? |
Not really because the original issue required the error code format in someone else's project (which looks abandoned). So even if the bug you mentioned was fixed, it wouldn't fix the original issue in my project. |
Perhaps the other person should be convinced to not use unmaintained and abandoned software. Sharing ranges sends like the perfect way to frustrate users. Sent from my Android device with K-9 Mail. Please excuse my brevity. |
I don't think anyone suggested sharing ranges. They suggested splitting the range so that it isn't shared. This is pretty standard for flake8 plugins. Normally, a plugin only reserves a limited range within their "letter" to avoid namespace clashes. |
A. Not at all a norm, maybe slightly more common than it used to be but also entirely unnecessary given that Flake8 no longer limits plugin authors to a single character prefix. B. Read the title. C. I've authored flake8 plugins before and rewrote most of what Flake8 is today. D. @xZise seems to have taken my membership in the org and the fact that I watch this repository as a user as my representing the project. This plugin isn't actively maintained at the moment and I was never speaking for the project so @xZise painting my responses as being anti-sharing a single-character namespace on behalf of the project are in bad faith. Regardless, as someone who's spent far too much time working on Flake8 and supporting its users I can say with authority that sharing a namespace still seems like a good way to confuse and frustrate users. There are too often bug reports of odd behaviour with a violation code without explanation of which plugin it is because users can't remember. If I didn't have to guess which plugin in their list of 40 was the one responsible for the specific error code behaving oddly, that'd be great, but because no one wants anything other than a single-letter prefix (for reasons I can't honestly fathom) we have to look at the READMEs. As a result, I've found plugins that conflict with each other's ranges because one plugin started using only X900-X999 and then expanded as they found they needed to without coordinating with other people using the X namespace. In short, agreements to share namespaces only work so long as everyone involved remembers they're sharing and negotiating and don't need to grow beyond their existing range. |
It's literally and explicitly documented by Flake8, lol. But absolutely you're correct that sharing works through explicit agreement. Same as sharing a letter namespace, lol. However, there are only a very limited number of letters. There are 999 numbers to be shared per letter. |
Frankly, Flake8 either needs to manage their namespaces better (with a registry) or they need a way to remap error codes from plugins, but that's neither here nor there. |
I don't know where @xZise did what you suggested, but I certainly don't support you being insulted because of your opinion. Hopefully it was just a misunderstanding. |
Never hurts to plug this fellow: https://github.com/life4/flakehell/tree/master/flakehell/ Which has a much more sane execution model. |
Hi would it be possible to share the same error code namespace with your plugin in flake8-future-import? At the moment I'm using
FI??
but there is a request (xZise/flake8-future-import#5) to useLDDD
(L = letter, D = digit) but I don't know what letter to choose basically.F
(for future imports) andI
(for imports) are both taken, and I could of course use other letters but they wouldn't have any meaning.So my idea was if we could agree that I maybe use
I900
toI999
, so basically replacingFI
withI9
. Especially as both plugins have a similar scope in checking the imports.The text was updated successfully, but these errors were encountered: