Python analyser marking quote inconsistency as essential error

I recently submitted an iteration of my code in the Python track, in which I used quotes inconsistently. The analyser marks this Pylint error as essential, which is incorrect. Ideally, it should be recommended. Am I right?

I’ve noticed you’ve been making a large number of assertions about various things being incorrect or bugs over the last week. Those assertions spark relatively long discussions where people point out your assertions are very subjective and not something that people generally agree with.

Is this subjective incorrect? Can you provide evidence backing your claim? If not, perhaps this is actually what it says it is and your assertion is incorrect.

Here the Analyzer communicates that Pylint has issued a warning. This warning (W1405 / inconsistent-quotes) is about inconsistent use of ''/"": apparently both single quoted strings and double quoted strings occur in the code. As far as I know, this is purely a stylistic matter, but still Pylint explicitly prefers consistency.

The bug, if there is any, is in the Analyzer marking this warning as Essential. I’m guessing it does this by way of default because the warning was fairly recently (2.5) added to Pylint and the Analyzer does not yet explicitly know about it.

I have done no research at all on the Analyzer; the above is just a guess.

I mapped that warning to Essential in the analyzer because being inconsistent with quotes is a very bad habit to get into. While Pylint considers that a warning, I consider it something that should be fixed when it is seen (including in my own code).

More often than not, a team has decided on a format for strings that is either essential to how their code operates, or is important for other reasons. A few exceptions to avoid the over-use of escapes (\) is fine – but swapping back and forth is not.

Quoting PEP8 (emphasis mine):


And yes - we could debate my choice – but I would ask you to leave me out of those debates until after Analytic April, because these next few weeks are going to be very busy for the Python track.

2 Likes

I was expecting someone to ask me about this at some point or the other, given the amount of self-reported “bugs” I was finding :).

I don’t think “people” have pointed out that my assertions are subjective: indeed, I mostly seem to run into conflict with you. About people not generally agreeing with me, the Exercism docs say about PR merging:

Don’t be discouraged by the number of review comments; it is perfectly normal for an exercise to go through several rewrites before arriving at something both you and the primary reviewer are happy with.

Finding something that I and everyone else are happy with will spark long discussions, and are the primary purpose of the forum: to discuss changes and implement them. Opinions will inevitable differ from my beginner’s viewpoint and your veteran’s: but as Exercism is a platform that caters to both of these, we need to find a midpoint. My claims are, admittedly, subjective: even in this post, I’ve asked if I am right, because these are merely my views and I’m unclear as to their accuracy. That’s why I post them in the forum: they can be discussed.

Of course, that’s a possibility. My point was that while one stylistic issue (whitespace) was marked as recommended, another was marked as essential, when it didn’t seem essential to me.

Ah, if it’s intentional, then it’s fine.

There’s little need for that, thanks! All the best for Analytic April!

1 Like

While this is true, it’s also the reason we’ve paused community contributions because asking our maintainers to have lots of long discussions is often not the way to get the tracks to move forward. Maybe we should update the docs to reflect this.

That said, we like exploring things in depth, it’s just important to ask why things are the way they are, before presuming they’re wrong. Phasing a post more along the lines of “I was surprised to see X and am intrigued as to the reason people made this decisions. Would you mind explaining it to me?” tends to lead to helpful discussions that are valuable evergreen explanations, and sometimes in writing those responses we (maintainers) understand why maybe we were wrong before, or leave room for questions that might make us realise that. Starting a post with “… which is incorrect” immediately leads to putting people on the defensive. Instead saying “which felt incorrect to me” would have meant you weren’t asserting anything as a fact, but instead were offering an opinion. I’d encourage you to read our doc on Chesterton’s Fence for more on this.

Isaac is a moderator. His “job” as a moderator is to protect the integrity of conversations in places like this and Discord - ensuring that conversations stay healthy and in line with our CoC and our way of conversing. So when he suggest things around how things are being taken, I’d advise reading that from that perspective rather than from one of being an attacked personally.


I’m grateful for you wanting to help make Exercism better and for you finding and pointing out lots of things that you feel we could improve. Please don’t take this post or others here as a rejection from the community. Every community is different and changing the way you open new topics slightly to reflect the “Exercism way” will mean that those turn into the sort of healthy discussions I think you’re hoping to receive - I think that’s the message here :slight_smile:

2 Likes

Right, I knew about the paused community contributions but didn’t link that to this.

Should I submit a PR for this :P?

That’s a very good point, thanks for letting me know! I’ll keep this in mind.

Definitely, my apologies, @IsaacG. I truly appreciate the hard work you’re putting in Exercism, especially the quick response time in the forum!

Hopefully, thanks, Jeremy!

Rather than submitting a PR, you can spend some time thinking about a better way to communicate this, propose a change on the forum and discuss it a bit. If people like the idea and think the new language is significantly better, then a PR may be requested. If you’re asked for a PR, then it would be a good idea to submit a PR.

If the proposed language is better but it’s hard to get the language to a point where it’s significantly better, a change may not be worthwhile. We don’t want an avalanche of minor changes which don’t have high value.

No worries and thank you! I appreciate your enthusiasm for improving Exercism.

2 Likes