# Where is the "spam line" drawn in the sand?

An answer from a prominent member of the coding community does very little to answer the question it was posted on.

The question is laid out almost with bullets where each point says follow the link.

The only part of the answer that could stand by itself looks like content that was given by other answers before the user posted.

Is this close to the definition of spam?

Answer that smells like spam

• The answer in question is now deleted. Aug 1, 2014 at 21:55

## 3 Answers

I think one issue here is that, essentially, the answer breaks down as:

1. I wrote a blog, here it is
2. My blog has relevant information about X
3. My blog has relevant information about Y
4. My blog has relevant information about Z
5. Oh, this one line could be faster in your code.

Now, on Code Review, and on Stack Exchange in general, links are allowed if they provide supporting information to your post. This has been discussed many times in many places, even in the meta faq. Of significance, in the 'how to answer' link in the help/how-to-answer it says:

Provide context for links

Links to external resources are encouraged, but please add context around the link so your fellow users will have some idea what it is and why it’s there. Always quote the most relevant part of an important link, in case the target site is unreachable or goes permanently offline.

The reason that context is needed, is because, if the link rots, is offline, or the user is firewalled in some way, or another, the answer still needs to make sense.

So, let's take the answer, and make the link '404', what's left?

I recently wrote an article on this subject:

http:404somewhere/whatever

Should I be putting LINQ query expressions inside of an object's properties?


Sure, if doing so makes sense and does not violate the guidelines in my article above.

Without the article, that makes no sense ... what guidelines?

Where do I draw the line with this?


Read my article for guidelines, and read the Framework Design Guidelines.

Without the article, that makes no sense ... what Framework Design Guidelines?

I assume db access is probably too far but is there a line, or just a gray area?


These are guidelines, not rules. The guideline for speed, for example, is that a property getter should not be much more than ten times slower than fetching a field.

Without the article, that makes no sense... what guidelines?

Do you see any issues with my usage of LINQ?


Yes. This is potentially inefficient:

Issues.Where(x => x.name == "Warnings").Count() > 0;

Here is 1 line of code that is being reviewed...

You don't need to count how many pennies are in a jar to know if there are more than zero, you only need to count one of them. You should say

Issues.Where(x => x.name == "Warnings").Any()

Now, about that 1 line of code, Eric answered at: 19:38:08Z

3 hours before that, at 16:49:30Z, Jesse commented:

Though, consider replacing Issues.Where(x => x.name == "XXX").Count() > 0 with Issues.Any(x => x.name == "XXX"). Still LINQ, but much more concise.

And, the first point, in the second, and accepted answer (by Olorin71 at 17:50:02Z - 2 hours before Eric's answer) says:

• As Jesse said, I'd use Any instead of Where + Count. It should have a better performance, I think.

## Summing up

The first 75% of Eric's answer is link-only since it makes no sense without the link.

The remaining 25% is a duplicate of other content posted hours before, and content so minor that the first person to mention it put it as a comment...

The way I see it, is that this answer is useless as a review as it adds nothing, and the only person who will benefit from it is Eric because it requires that users 'click through' before the non-redundant part of the answer makes any sense.

But, despite all that, it's not spam.

• Completely agree with the Monkey! That's why I down-voted his answer as not useful. Aug 1, 2014 at 16:56
• To add to this, his one line answer isn't even a good answer!! Aug 15, 2014 at 15:28

The issue here is not that this is spam, it's that it's not a good answer. It's perfectly acceptable to post a link back to your blog, given that it is relevant. As much as I hate to say it, the link is relevant.

I'll refer to Limits for self-promotion in answers on meta stack exchange and quote Jeff Atwood.

### May I promote products I am affiliated with here?

The community generally frowns on overt self-promotion and tends to vote it down and flag it as spam, so be careful. Post good, relevant answers, and if they happen to be about your product, so be it. However, you must disclose your affiliation with the product in your answers. Also, if a huge percentage of your posts include a mention of your product, you're clearly here for the wrong reasons. Our advertising rates are quite reasonable; contact our ad sales team for details. We also offer free vote-based advertising for open source projects.

That user was not in the wrong for promoting himself. In fact, he did provide a review and some useful information... eventually. That said though, almost half of the answer was "See my blog." The appropriate response was to downvote the answer and that seems to have happened.

One minor point to add to the discussion, being prominent in the coding community does not matter in regards of spam or link only answer. Every one is subject to follow the rule and your reputation should not change the way we treat a "case".

• I can discard my draft now ! I would add a minor things too, there is no link between being prominent in the coding community and self-promotion. Aug 1, 2014 at 16:16
• @Marc-Andre I made it community wiki. Please feel free to add anything you feel is missing. Aug 1, 2014 at 16:20

This is not spam.

Overly self-promotion may be more relevant here, but even that doesn't quite become spam until it's posted on multiple questions and with no changes between those answers (making them duplicates). Those also tend to be link-only. He does point to his blog a few times, but other than that, he is saying more than just "go to my blog." I still don't agree that it's a link-only answer, but the spam flag should be one of the last ones to consider in a single incident like this. Just downvote and (maybe) comment.