Skip to main content
5 of 8
replaced http://meta.codereview.stackexchange.com/ with https://codereview.meta.stackexchange.com/

#How to NOT write a zombie.

A zombie is a question that remains unanswered. As a question asker, your goal is to avoid writing one.

Beyond meeting the on-topic requirements, I think "good CR questions" can be broken down into several question types.

This answer is longer than I would have liked, but there are pictures.


###The Minimalist

These questions show the bare reviewable minimum - enough to be deemed on-topic by the community of course (although there have been one-liners deemed "reviewable"); these questions typically contain a small code snippet, but not an entire procedure or function - there's something specifically in that snippet that doesn't look right, you have doubts about the way that thing works, you post it on CR.

These questions typically ask about whether the could be refined, or how could be improved: they're much more about than , but still a valid concern.

These questions can often be answered quite quickly. The flipside is that the less substancial "minimalist" questions may sometimes attract StackOverflow-ish answers that are frowned upon, because they're either code dumps without explanation, or "quickie" answers that don't really review the code. When that happens, it's possible that the question gets protected if the question is very active.

"Minimalist" questions that are off-topic, usually get closed very, very quickly, too.

Sub-types

  • The Tune-Up, where OP is specifically concerned about performance. These are often entries that don't run fast enough. Keep in mind that answers may address any aspect of your code, even things completely unrelated to .
  • The A vs B Comparative, where OP is showing two snippets, and asks whether snippet A would be better than snippet B (or vice-versa). Don't be surprised if an answer describes solution C as a better alternative, while showing both snippets' weaknesses.

Zombie rating:

zombie


###The Proverbial Review

These questions are a majority. They include a method (including its signature) and, ideally, some calling code and enough context to describe what's going on. Or it could be a whole class, perhaps even two or three with an interface, a few members and a funny smell.

These questions simply ask for peer review, they're the proverbial does this code make my ass look fat? "ideal" question, where reviewers comment on everything there is to say about your code.

Reviewers love those. Fanatic reviewers eat two or three for breakfast, and another before lunch.

Sub-types

  • The Follow-Up, which happens after a first question's code was reviewed, and the recommended changes from one or more answers have been implemented. The updated/refactored code is posted for yet another review, linking to the original question for context.

Zombie rating:

zombiezombie


###The Project Review Project

An entire small project can be posted for review, given that it fits the 60K maximum characters in a Stack Exchange post. Writing a good question like this requires mastery of markdown formatting to keep readers hooked and able to follow along.

If your code is a complete mess, it's probably better to only post a part of it. Use the "review project" question type for when you have literally crafted something to the best of your abilities, and would like a peer review to either confirm your thoughts or shred that code to pieces.

The name says it. Reviewing that code is literally a project in itself, and that takes time. If you're expecting a quickie answer, you've asked the wrong type of question.

The title is always very important, but even more so with these questions - make sure you have a title what will draw attention. Be witty.

Zombie rating:

zombiezombiezombie


##Zombie Penalties

If your question is on-topic, it probably falls in one of the above categories. So you have a number of "zombies" in your rating; now consider these [cumulative] penalties:

Your language tag isn't in the top 40 tags: add 1 zombie.

zombie

Your code heavily depends on obscure 3rd-party libraries or frameworks: add 2 zombies.

zombiezombie

Your code can fly a rocket or perform heart surgery: add 3 zombies.

zombiezombiezombie

Now add all applicable ratings; the more zombies, the longer the time-to-answer1.


1Very, very rough rule of thumb.

Mathieu Guindon
  • 75.6k
  • 4
  • 99
  • 243