20
\$\begingroup\$

I always thought that Code Review is a place where we try to improve code and do not discuss highly questionable philsophical theories. For this reason I'm very disapointed that my flag about this answer for the Unisex Bathroom problem without semaphore has been declined.

Instead of giving code suggestions it is provocative and tries to raise a debate about how to properly categorize men and women.

There are certainly better places for such matters. In my opinion Code Review is not one of them and thus this answer should be removed.


The author also does not point to anything of value that would help to solve the problem. There are still two groups of actors who cannot use the bathroom when the other group is using it.

So, the only purpose of this answer is to rename the actors and to start a discussion whether we should name them men and women or something else... as if this would make solving the actual problem any easier.

\$\endgroup\$
  • 3
    \$\begingroup\$ What kind of flag did you raise? I can see that "not an answer" might be appropriate (as it makes no attempt to review the code, only the quoted problem statement), but if I were a moderator, I wouldn't feel it was "rude or abusive". (The final paragraph of the answer, about re-framing the question in less contentious terms, would make a good comment, IMHO). \$\endgroup\$ – Toby Speight Jun 28 at 7:36
  • 1
    \$\begingroup\$ @TobySpeight yes, it was the not-an-answer flag. No, it's neither rude nor abusive; it's provocative and unnecessarily speaks about things that belong to other communities that can better handle such problems. I wonder that more on-topic answers are often heavily downvoted and in this case people are so forgiving about a discussion that obviously does not belong here. In other words, the answer is simply stupid, distressing and disturbing. \$\endgroup\$ – t3chb0t Jun 28 at 7:42
  • \$\begingroup\$ @t3chb0t You flagged this answer as "very low quality", nothing else. \$\endgroup\$ – Simon Forsberg Jun 28 at 9:12
  • \$\begingroup\$ @SimonForsberg oops, then I must have misclicked the option I thought I have picked \$\endgroup\$ – t3chb0t Jun 28 at 9:18
  • \$\begingroup\$ @TobySpeight That flag is incorrect. I do point out an obvious technical flaw in the review subject. \$\endgroup\$ – TorbenPutkonen Jun 28 at 11:39
  • 1
    \$\begingroup\$ @TorbenPutkonen and what is this technical flaw that you are pointing to and how does your renaming suggestion help to solve the problem? There are still two groups of actors who cannot use the bathroom when the other group is using it... you just give them other names which you clain to be more politically correct. \$\endgroup\$ – t3chb0t Jun 28 at 11:41
  • \$\begingroup\$ @t3chb0t It's the fact that there are not two groups but an unrestricted number of groups. Confusing the last pargraph to be about the technical issue is an error on your part. \$\endgroup\$ – TorbenPutkonen Jun 28 at 12:59
  • 14
    \$\begingroup\$ @TorbenPutkonen I can see how your suggestion that it is an unrestricted number of groups could be a comment and noteworthy thinking point, but not really an answer. The asker has included a pre-defined problem statement that they have developed a solution for - your 'answer' seems only to say 'the question is wrong'. Perhaps it would be more useful to find out where the asker got the problem from, and address your comments to that book/website. \$\endgroup\$ – Windmill Jun 30 at 3:45
25
\$\begingroup\$

Since this is an opinion question, here's my opinion answer, the first part wearing my "regular hat" as an individual, and then my "mod hat" as how it impacts me as a moderator.

You ask: "Should Code Review be a place for discussing sensitive topics?"

The answer is: NO. Code Review is for reviewing code.... not reviewing social, cultural, political, personal, or any non-code related preferences, persuasions, opinions, or such content. We do have other sites on Stack Exchange where such discussions would be on-topic.

In that context, the question itself is on-topic. It does not express an opinion one way or another on bathroom etiquette and it's a clear problem statement and solution.

Further, answers can't be "off topic" in a strict sense (questions can be off-topic), but they can do a poor review, they can do no review, or they could be spam, or abusive.

Using my personal hat, I don't like the answer because it:

  • is not a good code review (it barely touches on the code itself)
  • it appears to intentionally "stir the pot" ... it appears that the sole point of the answer is to ignite discussion on broader societal/cultural issues with a specific "firebrand"

Using my moderator hat, I don't like the answer because it:

  • is a distraction from the core purpose of code review
  • it creates polarizing forces in a community that should be putting these sorts of issues aside
  • it is a no-win situation where there is no clear answer to resolve things.
  • it means I have to deal with crappy issues that are not fun to deal with (situations like this are the "hard-work" part of moderating the site - I can't just ignore this)

Frankly, this post could be used as a "do it this way" lesson for trolls... it contains just enough technical content to put it in to a "maybe this is a code review, but it's just a bad one" category, but not rude, abusive, or "junk" enough to be delete-worthy on those grounds.

So, instead, this user gets put in the bucket of "potential troll", and I'll take the time to scan through their other content, get a "feel" for the tenor of their posts.

Again, using the moderator hat, if you see posts that appear to be intentionally causing discord in the community, polarizing people, being "not friendly", we encourage you to flag them for moderator attention. These types of issues are hard to moderate on, and sometimes you have to wait for a pattern to appear. That means that your flag is helpful even if no action appears to be taken immediately.

If it appears that the user is simply using Code review to advance political, social, or some other unrelated agendas, then we can use other tools to redirect, suspend, or even remove them.

In this case, the one answer is not enough to go that far, but the community should know that while an individual post that causes disruptions may be occasionally tolerated, users who consistently cause this type of disruption would not be welcome.

\$\endgroup\$
  • 4
    \$\begingroup\$ I like this answer very much as it deals in a neutral way with the actual problem which is how to handle sensitive topics instead of trying to take a side in defending either of the sides of the exemplary gender problematic. I wish I came up with the current topic of this question earlier as the previous one might have influenced the tone of other answers. \$\endgroup\$ – t3chb0t Jun 28 at 15:01
  • \$\begingroup\$ "that should be putting these sorts of issues aside" - I have to disagree with that. While this topic isn't in our focus, there's just some topics you cannot avoid. \$\endgroup\$ – Simon Forsberg Jun 28 at 19:55
  • 5
    \$\begingroup\$ @SimonForsberg There's a whole world between avoiding the topic and writing an answer specifically about it. \$\endgroup\$ – Mast Jun 29 at 11:56
  • 3
    \$\begingroup\$ @Mast Sure the answer wasn't necessary, but now it's here and therefore it shouldn't be deleted - which has been my point all along. I also believe Stack Exchange's view on the matter is clear, and this is just one of the issues that - while it shouldn't be discussed everywhere - cannot be ignored. \$\endgroup\$ – Simon Forsberg Jun 30 at 17:40
  • 2
    \$\begingroup\$ They can't be "off topic," but they can be "not an answer." \$\endgroup\$ – jpmc26 Jul 3 at 23:55
14
\$\begingroup\$

I completely agree with you - this "answer" makes no attempt to review the code.

All it does is attack the problem statement, which was not even written by the author of the question. It provides no value at all (though the final paragraph, about an equivalent and possibly less controversial framing, might make a worthwhile comment).

\$\endgroup\$
-1
\$\begingroup\$

TLDR: Posts are not deleted just because you disagree with them.


Flag guidance

Let's take a look at the Very Low Quality Flagging guidance

If you use the 'Very Low Quality' flag, you're sending a signal to moderators that the delete button probably needs to be pushed. You're telling us that:

  • The post is an indecipherable mess and can't be salvaged in the amount of time we're prepared to ask our users to spend editing a single post. This could be due to the post being written so horribly it can't be understood, containing horribly formatted code, or both. Put simply, it would take way more than a reasonable amount of time to straighten this mess out, put that responsibility back on the person who wrote it while keeping it from distracting others.

This post is an attempt to answer the question. It's what other sites call a "frame challenge". Some sites accept these, some don't. Code Review is a site that generally accepts frame challenges, usually because it can make for very much cleaner code to challenge implicit assumptions in the original code.

Sometimes that requires discussing verifiable scientific facts and the state of academic research in areas that may not be comfortable for everyone involved. I understand that you don't really want to hear that from me, what with me openly expressing a viewpoint that is sympathetic with the answer. There is an extent to which Stack Exchange requires you to allow people to express their opinions, even if they disagree with you.

That answer is not an "indecipherable mess". It's not written in a way "so horribly it can't be understood". The answer is five straightforwardly formulated paragraphs of text in plain english.

The Very Low Quality flag does not apply here.


Reasons from your question

I always thought that Code Review is a place where we try to improve code and do not discuss highly questionable philsophical theories.

I partially referred to that above already. Framing challenges sometimes require discussion of scientific theories. These theories may not be something you agree with. That doesn't make them any less scientific.

Trying to discredit gender studies as a "philosophical theory" is disingenuous. It's a (comparatively young) legitimate academic field with roots tracing back to multiple academic fields. According to wikipedia, it started to be studied much more extensively in the 1990s, there have been PhD programs and various universities have set up programs around the field.

Instead of giving code suggestions it is provocative and tries to raise a debate about how to properly categorize man and women.

It's formulated in a matter-of-factly tone. That's not what "being provocative" entails.

Just because the opinion expressed in a post does not match yours and might even be provoking a reaction in you, unless it's rude, abusive or incendiary it still has a place on the site, so long as it pertains to the code presented in the question

There are certainly better places for such matters. In my opinion Code Review is not one of them and thus this answer should be removed.

You seem to be arguing that the answer does not review the code presented in the question here. I personally disagree with that. It's a framing challenge that just happens to challenge your views on gender and sex.

That does not make it unsuitable for Code Review. In fact, it makes it perfect for Code Review. The whole point of reviewing code is to make it better, and clarifying terminology as well as criticising (or refining) an overly abstracted modelling of the reality (according to academic research no less) is on point there.

\$\endgroup\$
  • 7
    \$\begingroup\$ the OP is a programming exercise. It includes a problem statement that defines terms, making Torben's post unnecessary. You're free to question whether philosophers really need two forks to eat spaghetti, or whether that salesman really needs to travel so much (can't he just use e-mail?!), but it's pure nonsense to claim that such navel-gazing adds anything to a code review. \$\endgroup\$ – Oh My Goodness Jun 30 at 4:26
  • 2
    \$\begingroup\$ You are in favor of discussing scientific theories, but then you state: "Trying to discredit gender studies as a "philosophical theory" is disingenuous." Even if someone tries to 'discredit' gender studies, would you say that person's opinion about this particular field of study is by definition 'disingenuous', just because of his intristic beliefs about it? \$\endgroup\$ – dfhwze Jun 30 at 4:26
  • 2
    \$\begingroup\$ The idea that it's not a philosophy is merely your opinion. Not everyone agrees, and they have legitimate reasons to do so. Gender studies is not a hard science field like math or physics where it's comparatively easy to be objective (and even that has issues with academic fraud where people make stuff up). \$\endgroup\$ – jpmc26 Jul 3 at 23:27
  • 2
    \$\begingroup\$ "It's a framing challenge that just happens to challenge your views on gender and sex." This is frankly exactly the problem. This clearly isn't real world code where someone might get locked out of the bathroom because they put their sex in as "attack helicopter" or result in placing trans male-to-female in the same bathroom as males or females (which would be a point of contention beyond this question anyway). It's an example problem for studying concurrency, so it's irrelevant to the goals of writing the code in the first place. It amounts to debating with a professor who isn't even present. \$\endgroup\$ – jpmc26 Jul 3 at 23:33
-2
\$\begingroup\$

The "Not an Answer" flag is heavily overused and should only be used for answers that doesn't attempt at answer the question.

This answer clearly attempts at addressing things in the question (when considering the entire body of the question), and therefore as a moderator I consider it an attempt at answering the question, and therefore I think that it should stay.

Please use the vote buttons, not the flags, for this one.

\$\endgroup\$
  • 4
    \$\begingroup\$ Nice answer. This follows my understanding of SE's rules regarding 'bad' answers. If you think it's bad down vote, but an attempt to help shouldn't be deleted for being 'bad'. \$\endgroup\$ – Peilonrayz Jun 30 at 22:04
  • 2
    \$\begingroup\$ "This answer clearly attempts at addressing things in the question" Really? It doesn't. If by "things in the question" you mean the topic of gender, then sure. But that has nothing to do with the specific questions that OP asked. This particular answer did not touch on the use of semaphores or OP's approach to the problem. It also ignores the fact that this problem was given to OP, not created by OP, and takes a political stance on a matter that is off topic on Code Review. This was more of a "problem statement review/political commentary" than a code review. \$\endgroup\$ – AleksandrH Jul 5 at 15:58
  • \$\begingroup\$ "it's an answer to the question once you redefine the terms 'answer' and 'question'" \$\endgroup\$ – Oh My Goodness Jul 5 at 20:40
  • 2
    \$\begingroup\$ @AleksandrH The "Not an answer" flag is meant for things like "Thanks, this helped me too" and "How do I write a for-loop in C#?" i.e. things that are clearly not even an attempt at addressing anything in the question. From that perspective, this is definitely an answer and should not be deleted by a moderator. \$\endgroup\$ – Simon Forsberg Jul 5 at 21:10
  • 2
    \$\begingroup\$ @OhMyGoodness see comment above. \$\endgroup\$ – Simon Forsberg Jul 5 at 21:10

You must log in to answer this question.

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