3
\$\begingroup\$

Why is it that any changes to a question must be a minimum of 6 characters?

I believe this to be an arbitrary rule that needs to be relooked at, as sometimes, and in the case of a question where I wanted to run the code first before researching an answer, it needed 2 "(" and 2 ")" around print statements for it to run.

However, instead, I would have either had to add a comment telling the questioner his code doesn't work and why, or if I do not have the ability to add a comment (which I do) I put a quote in the question itself explaining what I did so that it could then be changed again when my change is peer reviewed (I don't yet possess the tag to edit and then delete my quote box as the first change must be peer reviewed).

With so much talk of "broken code" not allowed, why should a person asking a question who forgot two pairs of parenthesis get their question flagged or worse, removed because of a slight oversight.

True, the person should know how to write code in the language (in this case Python) and know all print statements require them to be in parenthesis.

And yes, for me it is annoying when I have 5 apps and two dedicated servers and when I run that code it fails in all of them, even in Pythonista!

That aside, if the error was a logic and not a typo, I would have flagged it or made a comment that I could not get the code to work.

So my question is: why can't the threshold be lowered to 4 or 2 characters so someone can go in and just fix the code for the questioner?

Now, if the person has a version of Python that does not require parentheses around print statements, that should be mentioned in the question. What Python are they running, what library, if it is a code snippet that works that allows this to run when no version of Python I know allows that and fails with a syntax error?

Regardless, I am pretty sure, especially if a person fat fingers something in their code, as we all have done, there should not be a minimum number of characters if you are only making changes to the code.

\$\endgroup\$
  • 3
  • \$\begingroup\$ In the first place, the question was probably tagged Python 2.x, or should have been. You were trying to run it on Python 3.x, and editing the code is not allowed anyway, so your edit would have been rejected. \$\endgroup\$ – 23fc9a62-56de-47fb-97b4-737890 Feb 24 '17 at 5:54
  • \$\begingroup\$ I ran it in Python 2.7 and it still gave me a syntax error. \$\endgroup\$ – George McGinn Feb 24 '17 at 5:55
  • \$\begingroup\$ But I used that as an example of what I think is the issue, why six characters? You can't get six characters if someone has made a simple mistake in the code. Then you need to type something as to why you fixed it in the answer. That is my real concern. Not what version of Python it is. I have many versions and it syntax's out in all. My question is why 6 characters? \$\endgroup\$ – George McGinn Feb 24 '17 at 5:57
  • \$\begingroup\$ @Mat'sMug I read that post and I agree, if the the changes are to the logic where the person hasn't a clue how to code in that language and combines actual code with pseudo code, the yes, flag and close. But this was a case of either forgetting a pair of parenthesis, or there is a version of Python that I do not have, and I have 6 different versions in Apps, iMac and my webservers, including the version of Python in the tag and unless there is a library that allows you to not put parenthesis in PRINT statement, the OP's question should not be closed. It is a minor fix the should be allowed. \$\endgroup\$ – George McGinn Feb 24 '17 at 6:44
  • \$\begingroup\$ @Hosch250 I have two copies of Python 2.7, one on my web server, and the other on an App on my iPad. Both failed. But my question isn't about software versions per say, it is that we are allowed to edit questions as long as we don't change the meaning, and adding two pairs of parenthesis isn't a major change. My questions get edited all the time by others who are not moderators and they helped (like formatting issues). So why can't we lower the threshold to allow an edit to put () or fix a minor syntax error the OP may not be aware of? \$\endgroup\$ – George McGinn Feb 24 '17 at 6:48
  • 3
    \$\begingroup\$ @GeorgeMcGinn I rejected your latest edit, which I think prompted you to write this. I ran the code in my 2.7.13 Python install and it worked fine. I can't see a reason why it wouldn't work on 2.6 either, and the parenthesis are the only reason it doesn't work on any Python 3 version. \$\endgroup\$ – Peilonrayz Feb 24 '17 at 9:44
  • \$\begingroup\$ This question has attracted good answers. Consider accepting the one that best answered your question. \$\endgroup\$ – Mast May 3 '17 at 6:24
7
\$\begingroup\$

The reason you see this 'restriction' is due to the fact that Stack Exchange employs some 'trust' requirements before you can go unilaterally editing other person's questions/answers, regardless of intent. One of those requirements is a peer-review on all edits up to a certain point, and another is the requirement that edits be 'substantial' (6+ characters) before you submit them. These help filter out users who come here just to edit things without participating in the question and answer.

Is this helpful to prevent bad/spam/nefarious edits? I don't have that data, I won't speculate, and it's beyond the scope of this question. What I can say is that this will not be changing any time soon, and we really don't have any control over it as a community.

What we can talk about in this question is that it's not documented well, but once you reach the 2000 reputation milestone of 'Edit Questions and Answers' you lose both of those restrictions. You can create edits that are as big or small as your see fit, and you can apply them immediately. This is a lot of power, and with power comes responsibility. This effectively allows you to unilaterally change a question, and as such, possibly the askers intent. That's a big responsibility. It's not to be taken lightly.

I would like to speculate, with a high degree of certainty, that one of the reasons for these restrictions is to force new users to get used to what the community expects out of edits. After all, we are all expected to get along with each other and work together towards a common goal.

At 200 reputation points a day (for the daily cap) that means you only need 10 days of rep-capping / mortar-boarding to reach that milestone. That's not a significant amount of work, and it comes with other rewards.

You may have also noticed (as I see you have a tag-wiki edit) that you get a +2 reputation boost for each and every edit that you suggest before meeting the 2000 reputation requirement that passes peer review. This has a limit, I don't recall what it is (if anyone finds it feel free to edit this answer to include it) but you can get a fair amount of rep from edits alone. Between that and answering (as I see you have a good answer already posted on this community) you will reach that limit in no time.

So, the best I can suggest to you, keep editing, keep asking, keep answering. You'll get to that 2000 reputation requirement eventually, and I would like to hope that you are able to make great improvements to our questions and help the community out. After all, we're self-driven and self-governing (for the most part, mods are there to help guide us along the right path but we make decisions as a community), so all user input is welcome. :)

\$\endgroup\$
  • \$\begingroup\$ Thank you. You are right that this isn't well documented, and now with this answer maybe it can be included as such. I do understand the need for peer review, and I accept that and would expect nothing else. I believe the restrictions should be in place to protect both the OP and say me from making a mistake. However, allowing someone to make just a one character change isn't going to change the context of the question nor create spam. I just hated to have to put text in to say what I changed for everyone to see just to get to the six character minimum. Thanks for your answer. \$\endgroup\$ – George McGinn Feb 24 '17 at 7:42
  • 1
    \$\begingroup\$ I will leave it open for a day to give others a chance to comment on it before I accept it, but you have made it clear for me to understand how some of this works. Being new to this site, I try to be a good citizen, and I just want to make sure I don't offend or overstep my bounds. Thanks, \$\endgroup\$ – George McGinn Feb 24 '17 at 7:44
  • \$\begingroup\$ I'd have to dig a bit, but IIRC the maximum rep from edits is 1k \$\endgroup\$ – Vogel612 Feb 24 '17 at 11:41
  • \$\begingroup\$ The limit from suggested edits is 1000, so you can get halfway there just by editing \$\endgroup\$ – muru Feb 24 '17 at 11:43
4
\$\begingroup\$

@Ebrown gives a good answer to your main questions, but I just want to add this.

You say:

why should a person asking a question who forgot two pairs of parenthesis get their question flagged or worse, removed because of a slight oversight.

However, let's think about this for a second... Why would an OP post code here that is not working because of two forgotten pairs of parenthesis? What does that mean?

It means that the OP did not copy their exact code. Sometimes I like to ask: Do you solemnly swear that this is your code, your whole code, your exact code, and nothing but your code, so help you... code?

I see no reason why someone would copy their code here and then remove the pairs of parenthesis. I see no reason why someone would write code in their IDE without parenthesis and then ask us to review it.

The missing parenthesis indicates to me that the code hasn't been tested, and/or the OP hasn't put enough effort to make the question a good Code Review question. That is why I prefer to close as off-topic instead of editing the parenthesis in. Instead I prefer to comment and tell them that their code is not working and put the question on hold, then hope that they will come back and fix the question and make it a good Code Review question.

So don't miss those parenthesis.

\$\endgroup\$
  • \$\begingroup\$ You make a good point. Because after I fixed it and ran it, it didn't give me what I was expecting, just two numbers - 2 (carriage return) 1. So I am researching what it is the OP is actually trying to accomplish, and I just posted another similar question in a comment asking how the OP's question is different from the one already asked. In another question by the same user, I spent a week researching and providing an answer, and then I took the code provided and it has a ton of errors, like object not found and stuff like that. Yes, it was as if the OP threw up code and expected us to fix it, \$\endgroup\$ – George McGinn Feb 24 '17 at 8:29
  • \$\begingroup\$ @GeorgeMcGinn In those cases you can add a comment to the question mentioning that it doesn't work. And until you get close vote permissions (3000 reputation) you can also flag the question as off-topic -> Broken Code. \$\endgroup\$ – Simon Forsberg Feb 24 '17 at 10:08
  • \$\begingroup\$ @GeorgeMcGinn Also feel free to tell me what question(s) this happened on and me and the moderators can check it out. \$\endgroup\$ – Simon Forsberg Feb 24 '17 at 10:09
  • \$\begingroup\$ I'm going crazy. I just tried it again with the code restored back by Jamal and it now works in Python 2.7. I have screen prints showing it did not work. @SimonForsberg, thanks for your response. I'm going to run the code in a file compare program I wrote to see if anything else was changed, but now its working. Maybe I am working too hard. \$\endgroup\$ – George McGinn Feb 24 '17 at 10:13
  • \$\begingroup\$ Jamal, one of the moderators, changed the code back, but I am going to run a compare to see if anything else was changed that would have caused me to get errors. I have also sent in support requests to the app writer and my place where my two machines are co-located to find out why Python 2.7 was getting me errors. Jamal has fixed the problem from what I can see. Thanks. I'll send you a message if I have another question. Everyone here has been a big help to me. \$\endgroup\$ – George McGinn Feb 24 '17 at 10:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .