-10

There's currently an effort underway to create a repository of useful pro-forma comments.

In the right hands, pro forma comments are a good thing, they fill in the gaps and educate the users about how Stack Overflow works.

Unfortunately, in the hands of thousands (if not more) of users, they create real problems, some of which I've listed below:

They're spam

It doesn't feel like it is, but think of what spammers hope to accomplish. They lower the cost of sending out messages in bulk, knowing that the rate of return on their spam is less than 1%.

Everything that a proficient spammer does to increase revenue is about lowering the cost of getting messages out. The more messages that go out, the greater the return.

Apply that to Stack Overflow. You have thousands of users that might use this script. Collectively, you are all one giant spam bot. I know you have good intentions, you want to educate people (it's why we're all here) and you care about the quality of the content on the site.

But collectively, you're only reaching that less than 1% while introducing tons of noise on the network. You're actually doing more harm than you think you are.

They don't actually solve the problem.

Most of the comments here are actually pretty good. They talk about what not to do on the site, not what not to do in your code.

The ones that do talk about what to do (or not to do) in your code don't actually answer the question.

And if they did, it's a huge indicator that you have greater concerns with that question. It's either too localized (which you can vote to close on, or flag for moderator attention), or you should get your hands dirty and edit.

They evangelize

An extension of the above, the Stack Exchange network is about answering questions, not evangelizing, and yet, that is what most of these comments do.

I love the teaching moment, but the thing is, teaching only comes at a time when the user is open to being taught.

Many of the comments that are about code are just one-way preaching saying "don't do that." Sure, there's a useful link why, but it's not tailored to the problem at hand.

A better solution would be to answer the question as asked, but then go on to indicate why they shouldn't do that, and why the other approach is better. I've found this to be the most effective way to get people to be susceptible to learning new things.

Remember, we're here to answer, not to preach.

You reduce the efficacy of the message

Pro-forma comments make it easier to post the same thing, over and over. You know that dialog box that repeatedly pops up, in that application you use every day? You know how you dismiss it without reading the message because it's just a nag that you know you can ignore?

Then remember that day where you lost that important file because you dismissed the wrong dialog box?

When used excessively (which is what the script enables), you desensitize the user to the message. They see it everywhere and they simply ignore it because it's become background noise.

There's a reason they haven't been baked into the system yet

There have been more than a few calls to bake the pro-forma comments into the system, but they've gone unacknowledged. Perhaps they know that the feature, when released to the majority of users of Stack Overflow, could cause real damage to the site.

30
  • Moved from: meta.stackexchange.com/questions/136609/…
    – Shog9
    Mar 5, 2013 at 18:06
  • 6
    Presumably, this is the first time any given user has seen a particular proforma message, since they've apparently tripped over the land mine that the proforma comment describes.
    – user102937
    Mar 5, 2013 at 18:08
  • 8
    I see time and again that the specific user I addressed with my pro-forma comment appreciates the feedback and often asks for more information. In my personal experience they work. But I usually don't use them to address common problems in the question, only to educate about the SO culture, so perhaps that is different. Mar 5, 2013 at 18:13
  • 4
    @RobertHarvey And who goes and cleans up the comments when the issues are? Also, why are we trying to promote comments that don't actually serve the purpose of clarifying the question? Most of the comments in the pro-forma suggestion are about the site (which the site nags you about anyways) or about issues not directly related to the question at hand?
    – casperOne
    Mar 5, 2013 at 18:14
  • 3
    Roughly 95% of the 400+ non-answers I've flagged on SU required on out of four comments: 1. Ask a new question. 2. This is not an answer and you can't comment yet. 3. This should be posted as a comment. 4. Please use this form to merge your accounts. –– If that's the official position on pro-forma comments, what are the clickable comments in the VLQ review queue about?
    – Dennis
    Mar 5, 2013 at 18:14
  • A better solution would be to answer the question as asked, but then go on to indicate why they shouldn't do that, and why the other approach is better. That's a "perfect is the enemy of the good" situation. Look at how frequently library recommendation questions are downvoted and closed, after which the OP is left asking and wondering why. Mar 5, 2013 at 18:15
  • @DavidRobinson Perhaps that's an indication that you're voting on the wrong thing. If you're downvoting or voting to close a question that presents the problem well simply on the basis that it's not using a technology that isn't supported (which is irrelevant to the question and could very well be for reasons you are unaware of), then I dare say you are voting for the wrong reason.
    – casperOne
    Mar 5, 2013 at 18:17
  • 4
    You know why you got downvoted right? It's because you're advocating changing the system and the way we do things. If you would have complained about bad users, and bad posts, you would have gotten massively upvoted Mar 5, 2013 at 18:17
  • 1
    @SamIam I don't recall asking why I got downvoted. I'd say the ♦ next to my name indicates I have a pretty good idea of how the system works. It also indicates that I have a view of things that a handful of people (compared to the overall user base) have that others do not. I can't tell you the amount of pure noise that the pro-forma comments script generates. It's staggering and creates more work for everyone with very little return.
    – casperOne
    Mar 5, 2013 at 18:20
  • 2
    @casperOne: And who goes and cleans up the comments when the issues are [cleaned up]? -- That's a problem with comments in general, not with proforma comments specifically.
    – user102937
    Mar 5, 2013 at 18:20
  • 2
    @casperOne I think you took that the wrong way. I wasn't so much criticizing you as I was criticizing the greater meta community. I think it's troublesome that "Everybody sucks." is better received than "We should change." Mar 5, 2013 at 18:22
  • 1
    @casperOne I suppose by that argument, we ban weapons on airplanes... and guns on campuses... fair enough...
    – Mysticial
    Mar 5, 2013 at 18:23
  • 2
    @SamIam: that situation only exists because everybody on Meta sucks.
    – Shog9
    Mar 5, 2013 at 18:23
  • 4
    @casperOne I'll just say this: pro-forma comments means better comments. Without them, I'd still leave a comment - just not as good of one. You should tweak the comment to the situation at hand when applicable before posting. I've seen no evidence in the wild that this is a problem.
    – user159834
    Mar 5, 2013 at 18:26
  • 2
    @casperOne What specifically drew your attention to this and made you believe it's a problem?
    – user159834
    Mar 5, 2013 at 19:25

2 Answers 2

15

I never thought I would advocate countering laziness by being lazy, but that's exactly what I'm going to do here. Here's why:

  1. Proforma comments are carefully-worded, carefully worked-out solutions to common problems. There are people who can write these comments better than I can (and by better, I mean friendlier and more informative). Why shouldn't I use their wording instead of mine?

  2. You can't always fix people's questions. At some point, you actually encourage the asking of lazy, underspecified questions, because the poster knows that someone will come along and clean up their questions for them.

  3. Instructive comments are never rude, as long as you're being civil, even if they are canned comments.

I offer this comment as Exhibit One:

Please, don't use mysql_* functions for new code. They are no longer maintained and the community has begun the deprecation process. See the red box? Instead you should learn about prepared statements and use either PDO or MySQLi. If you can't decide, this article will help to choose. If you care to learn, here is a good PDO tutorial.

Now, my right honorable friend casperOne will counter that the OP may very well have a reason why they are using mysql_* instead of the newer functions. That may very well be true. But look at what has been packed into this little comment: an entire education about how to use MySQL functions properly. If people happen to see that more than once, I'd say that's a good thing.

25
  • From the discussion that we had in our sekret back channel room: @RobertHarvey So can I have a pro forma comment that says "While the blah blah are depreciated, the asker of this question might not be able to switch to PDO for reasons that are irrelevant to this post"?
    – casperOne
    Mar 5, 2013 at 18:30
  • Think of someone who is looking for some mysql_ question, and then they see an answer that answers their question. What's better here, a longer answer which transitions the answer into the new technology, or some link that isn't related to the answer/problem statement at all. I'd much prefer the answer that shows the better way that it can be done, tailored to the issue at hand.
    – casperOne
    Mar 5, 2013 at 18:30
  • can I have a pro forma comment that says -- That part would be more properly reserved for the custom tailoring of an answer to the OP's question that you advocated. I still think it's fine to point out (for everyone else's benefit) why the new functions are better, and that you should use them if you can.
    – user102937
    Mar 5, 2013 at 18:31
  • 4
    Do you seriously expect someone to go through eight links to figure out all of this? That's a bit of sensory overload, and I thought that we're all about putting content on the page at Stack Overflow instead of pointing them somewhere else? Your example, IMO, is the perfect embodiment of a polite way of saying "GTFO, RTFM". And since you've indicated that this is the first time people will see this it's definitely not the first message we want to send people.
    – casperOne
    Mar 5, 2013 at 18:34
  • Ah, but they don't have to click on the links. The comment stands alone perfectly fine without them (except for the "See the Red Box?" part). The comment is not rude; some people just choose to be offended. Hell, the comment even starts with the word "please." :)
    – user102937
    Mar 5, 2013 at 18:35
  • 1
    I'd disagree that the comment stands alone perfectly fine without them. "You should learn about prepared statements", "PDO", "MySQLi", "can't decide" the comment does nothing to help me do those things without the links. Also, the "here is a good PDO tutorial" doesn't stand on it's own without the link. The comment is nothing without the links.
    – casperOne
    Mar 5, 2013 at 18:37
  • 2
    My point is that they're there if the OP wants to click them. It's still his choice.
    – user102937
    Mar 5, 2013 at 18:38
  • 1
    But you just said the comment stands alone perfectly fine without them. I just showed you why it doesn't.
    – casperOne
    Mar 5, 2013 at 18:38
  • 4
    The purpose of the comment is to tell them they might want to do it a different way and why. The purpose of the links is to show them how.
    – user102937
    Mar 5, 2013 at 18:41
  • 1
    If they're interested in learning, wouldn't we better serve them with an answer instead of a handful of links that don't directly relate to the problem at hand (assuming it was a well-asked question)? If it's a bad question, then commenting isn't the avenue that we should be taking. There are other things to do first.
    – casperOne
    Mar 5, 2013 at 18:43
  • 4
    You're basically advocating not providing the information at all, and focusing on the question asked, on its own merit. I'm not sure that serves the OP's best interest.
    – user102937
    Mar 5, 2013 at 18:44
  • No, my post says explicitly to answer the question and then lead them to that information. The comment does nothing to answer the question.
    – casperOne
    Mar 5, 2013 at 18:47
  • So you advocate pasting the comment above into an actual answer, as a preamble to "but if you really must do it the old way, here's how."
    – user102937
    Mar 5, 2013 at 18:49
  • 1
    Post it on blog.stackexchange.com or somewhere else.
    – casperOne
    Mar 5, 2013 at 18:58
  • 1
    If I have to attempt to answer the question by pointing out their mistakes, and then compounding those mistakes by providing an answer in their obsolete technology, I won't bother.
    – user102937
    Mar 5, 2013 at 19:09
3

There have been more than a few calls to bake the pro-forma comments into the system, but they've gone unacknowledged. Perhaps they know that the feature, when released to the majority of users of Stack Overflow, could cause real damage to the site.

Well, I did acknowledge at least one of them:

I think the best example of "canned comments" on Stack Exchange are found in the close reasons: a finite set of explanations for why certain questions must be either fixed or deleted, usable only in one context, and only with the participation of several users. A similar system can be found in the rejection reasons for suggested edits. I would like to expand that into more areas of Stack Overflow, but only when:

  • There are a small, fixed number of possible comments.
  • There is a specific, easy to identify context for those comments.
  • The comments can be written to provide specific, constructive advice.

IMHO, the primary risk for "canned comments" is when the context for their use isn't obvious. I have no problem with Robert's mysql_* example, when it's used as a friendly way to inform someone who has probably learned PHP entirely from example code that they're flirting with disaster and that there is a better way... But when it's used as a prelude to pile-on down-voting, closing and deletion, I'm a fair bit more skeptical of the author's intentions - the message it sends to observers changes from "help in any way possible" to "mysql_* questions are fair game for abuse".

This isn't a technical problem; it's a social one. And so far as I've seen, the vast majority of folks are using that comment exactly as it was intended: to inform and educate. But I wouldn't build it into the system, because the context requires someone reasonably familiar with the subject to interpret - there are hundreds of thousands of posts mentioning various "mysql_*" functions, and I hardly think each and every one of them needs that comment slapped onto it.

I'm reasonably happy with the ones we built in for low-quality review deletion: 12K+ answers deleted with a comment explaining why they were deleted, around 5K still visible with a comment explaining why someone thought they should be deleted, and under 300 canned comments removed as noise, obsolete, etc. But still, that's an awful lot of comments, and as much as we tried to make them clear and specific... There has still been some confusion over a few of them.

2
  • 1
    The close reasons could still use some work. *hint.
    – user102937
    Mar 5, 2013 at 19:18
  • Yeah, that'll happen.
    – Shog9
    Mar 5, 2013 at 19:19

You must log in to answer this question.

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