10

I'm looking for advice to improve this question:

Has / can anyone challenge Uncle Bob on his love of removing "useless braces"?

It's been well received with up votes but seems to be in danger of being put on hold. Rather than wait I thought I'd provide a little more room here for you to instruct me.

I'm attempting to gather answers that will make clear when this behavior should and should not be imitated backed up with cited arguments. Particularly if Uncle Bob's style creates an environment where making an exception to the rule is justifiable. In my fear of it being closed as opinion based I seem to have bumped into other close reasons (unclear, asking for a book/resource recommendation, asking a yes no question).

I'm here. I'm willing to make adjustments. Any guidance much appreciated.

  • 5
    I have no advice, but just wanted to comment that I think it's an important question that I hope can be salvaged. – Jules Jun 4 '16 at 17:01
  • Well thanks for the support. – candied_orange Jun 4 '16 at 17:03
  • 6
    The reason your question is now closed is because it's about a bikeshed issue, and everyone knows that. No amount of massaging the question will change that essential fact. There are no citations that anyone can use (that are not entirely opinion) because its purely a question of style. As to Uncle Bob's style, I blame him for the endless mental masturbation over SOLID. – Robert Harvey Jun 4 '16 at 19:39
  • 2
    @RobertHarvey so "useless braces" are a bike shed issue not worth worrying about? – candied_orange Jun 5 '16 at 4:02
  • I think I made my position crystal clear in my answer to your original question. – Robert Harvey Jun 5 '16 at 4:13
  • 1
    @RobertHarvey Not asking your position on answering the question. I'm asking you to clarify your reasoning regarding it's closing. I see several ways to take what you just said. – candied_orange Jun 5 '16 at 4:19
  • 1
    Let's say you were told that red cars get more traffic tickets, because everyone basically believes that. Later, you find out that the police claim that it is white cars that get the most tickets. Their rationale is that manufacturers paint more of their cars white than any other color. You ask a question on Motor Vehicle Maintenance and Repair, asking which color car you should buy to get the least amount of tickets, and asking for answers that challenge the existing dogma. How well do you suppose such a question would fare there? Your question is not all that different, conceptually. – Robert Harvey Jun 5 '16 at 4:30
  • Yes if the cops aren't exposed to an evenly distributed spectrum of car colors those are actually different questions. Likewise when you say this is a bikeshed issue I'm not sure if you mean the rarified context that Uncle Bob works in is a bikeshed since few projects get broken down as finely as he does. I'm not sure if you mean worrying about braces at all is a bikeshed issue because you think no one has ever agreed on them in any context. – candied_orange Jun 5 '16 at 4:49
  • 5
    Honestly, I just came to meta to post a question asking why this was reopened, as I can't see how anyone could post an answer that isn't simply bikeshedding over brace styles or citing someone else's inherently non-authoritative bikshedding. So far the only exception is Karl's, and it's an exception only because it's not answering the actual question at all. I just don't get why multiple people feel strongly that this question deserves to be open. Should I post another meta question or do you think you can explain it here or in chat? – Ixrec Jun 5 '16 at 14:17
  • 2
    @lxrec I encourage you to constructively criticize the question. I'm clinging to the idea that there is ground to cover here that hasn't already been beaten to death in other posts. But then I never regarded going braceless as an option for a professional. Hence I didn't see it as a bikeshed issue. I'm trying to ask if my view is outdated / out of context when it comes to the specific way uncle bob works. You might convince me of that. If you're claiming it's bikeshed in every context you're making a claim that requires significant proof. If that's been covered close as dupe. – candied_orange Jun 5 '16 at 14:38
  • 2
    @lxrec I also think karls answer is excellent. Pauls is highly voted but seems to be outside the realm the Uncle Bob works in. I wanted to hit Uncle Bob where he lives on this point. Instead many answers are rehashing old arguments. If you have any advice I'm all ears. – candied_orange Jun 5 '16 at 14:46
  • Note that "convince me or my coworker" questions are also problematic, for reasons which I hope are self-evident. "But then I never regarded going braceless as an option for a professional." Replace "braceless" with "braless" and note how silly that sounds. Ironically, you sound a lot like Uncle Bob: "You can't call yourself a professional if [insert some arbitrary practice here]". – Robert Harvey Jun 5 '16 at 15:25
  • @RobertHarvey again, if you want to make that claim it requires proof. Are you saying in every context it's a bikeshed issue? There is no context where going braceless is an objectively bad practice? It's simply a style choice anywhere you find it? I'm not trying to win an argument here. I came here to learn something. I really would like to see this from your point of view. "Convince me" might be problematic but at this point I'm still trying to get you to lay out what you really mean. – candied_orange Jun 5 '16 at 15:49
  • 2
    @CandiedOrange The "ground to cover" is probably the question Karl answered, which is not the question you asked, so while I agree with that claim it's also sort of irrelevant unless we want to edit the question to make Karl's answer valid in exchange for making the many bikeshed answers invalid. This is the problem with figuring out how to make the question good after you've attracted all the bikeshed views and votes and NPR sympathizer reopen votes: It's just too late to make that question a net positive for the site without deleting lots of highly-upvoted content. – Ixrec Jun 5 '16 at 16:33
  • 1
    @CandiedOrange I'm honestly quick shocked that we're agreeing as much as we are; I was seriously on the verge of taking a hiatus from the site because I was so sick of the conflicts between "us" and "everyone else" drowning out any attempts to create useful Q&A content. I happen to be watching a movie right now but maybe we could talk about this in chat later (since this is clearly getting a bit long for meta comments). – Ixrec Jun 5 '16 at 17:29
17

This question has been reopened since you asked this meta question but should be closed.


Parkinson's law of triviality is C. Northcote Parkinson's 1957 argument that members of an organisation give disproportionate weight to trivial issues. He observed that a committee whose job was to approve the plans for a nuclear power plant spent the majority of its time on discussions about relatively minor but easy-to-grasp issues, such as what materials to use for the staff bike-shed, while neglecting the proposed design of the plant itself, which is far more important but also a far more difficult and complex task.

Source: Wikipedia

The question is focusing on trivial aspects of software development. Sure, when developing a nuclear power plant it is worth allocating five minutes to discuss the bikeshed. But when the bikeshed discussion dominates more important tasks, it has gone too far. That is exactly what this question is doing. The question of curly braces for a single line has already been beaten to death on this site:

It took me more time to copy and paste the links than it did to search and find those questions. While they do not ask the exact same thing, they provide the same value. And they are already asked and answered.

Why do we need to keep beating a dead horse on a bikeshed issue?


Furthermore, the question is also off-topic. The title of revision 2, the most recent revision before anyone except the author edited the question:

Has anyone published a challenge to Uncle Bob on his love of removing "useless braces"?

From the current version of the question body:

I'm wondering if that is supposed to validate removing the braces. I'm already familure with the best practice. Can anyone challenge Uncle Bob on this point? Has Uncle Bob defended the idea?

This is a resource request, no matter how much hot sauce you put on it to hide the fact. The core of the question is this, my paraphrasing:

Can anyone point me to a resource where someone provided a rebuttal to the specific argument Uncle Bob is making?


In summary, the question should be closed for one of the following:

  • Resource request, because it is asking for someone else's rebuttal.
  • If edited not to be a resource request and to ask about the braces issue on its own merits, it would be a duplicate of one of several questions already asked on this site.
  • If somehow it were not a duplicate, it is a "primarily opinion-based" bikeshed question.

I see no reason why this question should not be closed.

  • First of all, thank you for taking the time to lay that out clearly. I really appreciate and respect that. – candied_orange Jun 5 '16 at 16:11
  • What you see as a resource request I meant as requirement to back up opinions with citations. We use citations here. It's easy to see this as just the braces issue rehashed. I tried very hard and failed to make clear my scope was only in the context Uncle Bob was working. Yet I see talk of macros! As for primarily opinion based, if it is simply not ever objectively bad to go braceless then sure, which you should do is an opinion. The question however is asking if that objective badness is subject to context. You seem to be saying it's not objectively bad in any context so just opinion based. – candied_orange Jun 5 '16 at 16:47
  • 7
    @CandiedOrange Keep in mind that what you meant to ask is far less important than how people interpret your question. I'm becoming convinced that the question you actually wanted to ask is something we could support, but that doesn't change the fact that the initial version of the question was interpreted by pretty much everyone as "Why is this guy advocating not using braces? Please link to someone else's opinions", and has already attracted many answers, comments and close votes based on that interpretation. – Ixrec Jun 5 '16 at 16:51
  • @lxrec I humbly acknowledge my failure. I will do whatever penance required to see what I meant to ask answered. Post question drafts on meta. Let someone else ask. Donate bounty. Please point me in a useful direction. – candied_orange Jun 5 '16 at 17:13
  • 3
    Note that your opinion that "the question is focusing on trivial aspects of software development" is not a majority one. Many folks take this particular aspect of software development very seriously, for what they believe are compelling reasons. – Robert Harvey Jun 5 '16 at 17:24
  • 2
    @RobertHarvey Triviality is orthogonal to seriousness. It is a simple issue, while important. Compared to creating a software architecture for a complex piece of software, curly braces are a trivial aspect of our profession. Yet, it is important and serious business because, as you mentioned in your answer or a comment somewhere, you were bitten by the "someone added a line without adding braces and caused problems" issue. – user22815 Jun 5 '16 at 18:49
  • 1
    "Too Simple" has never been a valid close reason. – Robert Harvey Jun 5 '16 at 22:42
  • 1
    @RobertHarvey great, that is not one of the three reasons I gave in my answer. – user22815 Jun 5 '16 at 22:45
  • Then I really don't understand your distinction between seriousness and triviality. I consider them two poles of the same concept. – Robert Harvey Jun 5 '16 at 22:47
  • 1
    The difference is while it is important, it is a topic that has been beaten to death. It is so simple that we don't need yet another bikeshed question on the topic. – user22815 Jun 5 '16 at 22:48
  • Great! Then there must be a duplicate question we can close this one against. – Robert Harvey Jun 5 '16 at 22:57
  • 5
    It is almost as if I listed four in my answer – user22815 Jun 5 '16 at 23:06
  • "one vote away from deletion, may become a 10k link soon" I wanted to read it :( – Braiam Jun 7 '16 at 18:35
  • @Braiam here: i.stack.imgur.com/4sskR.png – user22815 Jun 7 '16 at 19:29
  • @Snowman: in none of your links the question of leaving out curly braces is put in the context of Bob Martin's "Clean Code" programming style, which makes it IMHO a different question. See Karl Bielefeld's answer, that is a great answer which would not fit to any of those other questions. So clearly not a dupe. – Doc Brown Jun 8 '16 at 4:54
4

Maybe the question can be saved by changing the title to something like

"Is the best practice of always using curly braces still valid when following Bob Martin's 'Clean Code' coding style"?

That would remove the resource request evidence from the title (you should look through the question body and remove other resource request terms in a similar manner). Moreover, you could add all those four links given by Snowman to your question and explicitly add a note that those questions don't provide an answer in this different context.

Of course, this might invalidate Paul Draper's answer to some degree, and make Karl Bielefeldt's answer more valid, but I guess that this might be your intention anyway.

Nevertheless, even with those changes, for lots of people here this will undoubtly still be a too trivial and/or too opinionated issue, but it might be worth a try.

  • That's actually a good title. I'd consider changing it if the question wasn't already dead and buried under opinion answers. The "resource request" was meant to dissuade people from offering opinions that aren't at least cited. Without some form of that this turns into an opinion poll. I might think about asking a new question but I'm going to shop it on meta before posting because I want to learn how to keep this from happening. I've hit a hot issue that generates votes but I don't feel like I've added value to the site. I suspect getting this right is going to be a fair bit of work. – candied_orange Jun 8 '16 at 5:34
  • Karl's is the only answer that paid any attention to the context of the question. Unfortunately it only addressed Uncle Bob's side of the argument. I'm not dictating conclusions but both sides, in that context, should be addressed. – candied_orange Jun 8 '16 at 5:44
  • Despite triggering all the different close reasons the biggest problem I see the question has is it's inspiring answers that reach for 'low hanging fruit'. I'm wanting thought and effort but the question didn't inspire much downvoting of thoughtless and effortless answers. I suspect because it was to easy to interpret the question more broadly than intended. – candied_orange Jun 8 '16 at 5:49
  • @CandiedOrange: I think it is absolutely ok to support Uncle Bob's side, there are enough counter arguments given in that older "best practice" questions & answers. And actually, I still don't buy them, even without following Bob Martin's style to the extreme, removing the braces improves readability enough to justify it - in my eyes. Of course, leaving the braces there could prevent (sometimes, in rare cases) a bug, but improved readabilily can prevent bugs sometimes, too. So I am fine with Karl's answer as it is. – Doc Brown Jun 8 '16 at 6:41
  • The problem with that is that's old ground. It's been beaten to death. I'm not picking answers based on the side they take. I like Karl's answer over Paul's not because I agree with it, but because unlike Paul's it speaks to the real question I was trying to ask. This issue, in that context. That's where the new ground is. – candied_orange Jun 8 '16 at 6:50

You must log in to answer this question.

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