10

What should my Objective-C singleton look like? was closed as "Not constructive" a little while ago by CasperOne. I'm not here to argue about the closure; in fact, I'm forced to agree that, as it stands, the question is explicitly a polling question and eligible to be closed for that reason.

I'd like to see it preserved, however; it's got a fair bit of useful in-depth information for ObjC/Cocoa developers on the "singleton" topic.* It's also (possibly more importantly) a great duplicate target -- have a look at the list of linked questions. I want to try to stave off deletion, and hopefully get it reopened.** (I did vote for reopening, but it expired.)

My thought is to edit the question itself into a "constructive" form, but after spending some time pondering how to do so, I'm not crazy about any of the ideas that I've come up with. Essentially they all involve reworking the question to fit the answers:

  1. Rewrite the question so that the accepted answer fits exactly. "I've got this singleton implementation, but I really want the creation to happen earlier in my app's execution. How can I make that happen?" This is artificial and (in my opinion) doesn't make a particularly good question.

  2. Make the question still general, but more concrete and focused on the implementation give in the body. "What are the pitfalls associated with this singleton creation procedure? Are there other features that my singleton should have?" This is still skirting the border of discussion->NC, and none of the answers really respond to this exactly.

  3. Remove the implementation from the question and just ask for the "best" implementation. This obviously requires coming up with stringent criteria for "best", and, while it would preserve the relationship between the Q and A's best, might not even move it out of NC territory.

I'm looking for suggestions of ways to re-write this so that it can stick around. Alternatively, if you think I should just be advocating for a historical lock, say so.

If you think my basic premise is faulty and don't think the question should be preserved at all, I respectfully request that you just downvote me instead of answering -- I'd prefer not to turn this into an argument about the merits of the question, and I definitely don't want it to become a(nother) "deletionist"/"inclusionist" skirmish (and I am not infrequently on the "deletionist" side).


*Quite a bit of it unfortunately in comments.

**Historical locking would also be an acceptable solution to me, but it doesn't seem to fit the "controversial" criterion.

10
  • 2
    For further cleanup, there's also a few answers that are just links and could be either converted to comments or edited with summaries.
    – jscs
    Commented Jul 24, 2012 at 18:01
  • 1
    There's a "controversial" criterion? I don't know about this. With nearly 100K views and tons of inbound links I think this qualifies for a historical lock. Editing into a shape that can be reopened is preferred, but I don't know if that's possible for an anything goes "list of X" question like this. Somebody astound me. Commented Jul 24, 2012 at 18:10
  • 1
    Contentiousness is definitely listed in the "Historical Lock -- when is it appropriate?" FAQ «The post is contentious; i.e. it has been closed and reopened at least once, or deleted and undeleted at least once», but perhaps the ANDs there should be ORs? If so, that would be great.
    – jscs
    Commented Jul 24, 2012 at 18:15
  • Oh, I see. I guess the thinking is that if it's in no danger of being deleted there's no reason to lock it? Thanks for pointing that out. Commented Jul 24, 2012 at 18:18
  • The solution to this is provision a "Canonical Question" category, with a more obvious community wiki aspect and a clear graphical distinction from normal user questions.
    – spring
    Commented Jul 24, 2012 at 18:49
  • 2
    @skinnyTOD: Absolutely! I am so much in favor of some implementation of Cannon-ical questions, you have no idea. I think they are an essential piece of preserving the usefulness of SO for searches, going forward.
    – jscs
    Commented Jul 24, 2012 at 18:52
  • @JoshCaswell - I've read the question you linked to before and failed to see the validity of the arguments against. Is there some philosophical or other bias in play? I don't know.
    – spring
    Commented Jul 24, 2012 at 19:06
  • @skinnyTOD: You mean the Canonical Questions question? I think most people just don't see it as necessary, and it would certainly be a major undertaking for the devs. I imagine they have some ideas/projects in the same vein, but it is unknown when or if they will complete them.
    – jscs
    Commented Jul 24, 2012 at 19:10
  • 1
    Why bother? The question is never going to get deleted by the community, so it's effectively preserved in its current state. Change the question, and you invalidate all of the answers. The close banner serves as a reminder to would-be hapless future posters that this kind of question is considered off-topic now.
    – user102937
    Commented Jul 24, 2012 at 19:21
  • @RobertHarvey: Maybe you're right. Still, I was also somewhat interested in making a test case here. I've heard -- and am sympathetic to -- the complaint that there's no way to be pro-active against deletion. One can only react. This was an idea I had for a means to be pro-active.
    – jscs
    Commented Jul 24, 2012 at 19:29

3 Answers 3

6

This question deserves a historical lock. It has relevant information, it has 100,000 views, and it is expansive.

You're right, it's not a good candidate today for Stack Overflow (although it seems like it falls on the right side of Good Subjective, Bad Subjective), but it should not be deleted.

7
+100

As pointed in comments to your question, existing answers effectively lock things from substantial editing: "Change the question, and you invalidate all of the answers".

As far as I can tell, this leaves you with the only option to write a new, constructive question building upon an old one. I would approach it about as follows.

  1. Pass the old not constructive title through an Atwood's transform
    that would change "What does your Objective-C singleton look like?"
    to something like "How do I tell when particular Objective-C singleton design is appropriate?"
     
  2. Write an opening part of the question, expanding on the title got above. Like,

What factors to take into account when deciding on particular singleton design of those mentioned below?

  1. Draft a research section of the question. In this section, provide an overview of findings based on studying the old question.
    Research section is actually your chance to shine through. If done right, it will make your question timeless - if you don't spoil it by surrounding text attracting garbage answers. Research might involve a lot of effort but also a huge chance to get a solid payback.
  • As an example, take a recent post in Programmers.SE blog - relatively straightforward, well presented summary of a particular popular question gained it an immediate recognition: "you are # 4 on hacker news... getting like 200 hits a Min... also on reddit programming... OMG! 35000 views... it's exploding... ... close to 50K views... wow!"
     
  1. Review question draft to find out if it allows to repel low effort answers, edit as necessary.
    Some examples of possible garbage answers to consider for your case:
     
    "this kind singleton looks worth adding to your list, and this kind, and this kind..."
    "this kind singleton never failed me"
    "use a better programming language instead"
    "singletons are evil"
     
  2. Add background section, referring reader to an older question, as well as to backup URL for the case if it gets deleted. An excellent advice on how to get that backup URL is in an answer to another MSO question: enter http://liveweb.archive.org/http://www.website.com/page ...if you want to ensure that a popular soon-to-be or may-possibly-be deleted question gets archived by the Internet Archive, manually feed them to the URL above.

Finally, post the question. That's it. Simple steps, plenty effort.

-1

Here's a proposal: you might reword it to say something like

I've written the singleton class below. Have I accounted for every possible pitfall in its implementation?

This fixes the "you show me yours" issue, and I believe it avoids the subjectiveness of something like "Is the the best possible implementation?" Furthermore, most of the existing answers will fit this new question well.

3
  • 6
    Nope. Doesn't work. "Every possible pitfall" is still a poll.
    – user102937
    Commented Jul 24, 2012 at 19:25
  • @RobertHarvey: "Every possible" sure makes it sound like a poll, but given a single specific chunk of code, there's a finite number of things that could be wrong with it. Ernest's suggestion is quite similar to my second idea above -- do you think this is a non-starter?
    – jscs
    Commented Jul 24, 2012 at 19:37
  • 3
    I wouldn't bother. The only pitfall of the question is that it's a potential broken window, but the close banner takes care of that.
    – user102937
    Commented Jul 24, 2012 at 19:41

You must log in to answer this question.

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