|
How long is on average one of your methods?
A method shouldn't be longer than a screen, which makes around 50 lines of code.
This will solve your braces problem immediately.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
I don't know about anyone else, but when I enter a '{', I also enter the corresponding '}' before I insert any code in between the braces. I never have a problem with unbalanced/misplaced braces.
Fletcher Glenn
|
|
|
|
|
Obviously, you are using the god-forsaken "K&R" bracing style
if (condition) {
}
When you choose a coding style based on readability rather than historic fanboy popularity, these problems go away:
if (condition)
{
}
Truth,
James
|
|
|
|
|
When there's too much nesting, and therefore too many braces, consider
1) refactor out inner nestings into new methods
2) label }'s:
namespace foo
{
public class bar
{
public void fu()
{
for(var int i = 0; i < 10; i++)
{
if(Math.PI != 0.0)
{
} // if PI not 0
} // for i
} // fu
} // bar
} // foo
|
|
|
|
|
Productivity Power Tools [^] includes Guidelines which are helpful.
VSCommands [^] has a "Code Block End Tagger" that will show a "tag" on the closing brace either all the time or only when the opening brace is not in view.
Sincerely,
-Mark
mamiller@rhsnet.org
|
|
|
|
|
This. I consider both packages a must. Also, VSCommands' tag has some important advantages. In addition to telling you what the curly brace is ending, it is clickable - navigating you back to the matching opening curly brace.
|
|
|
|
|
|
In Visual Studio, you can press Ctl-K & Ctl-D
that will format your document. Same as pressing Edit>Advanced>Format Document.
That will give you an indication of where the faulty area is, then, you can follow the {}'s via indention.
Moving from VB to C#, for a while, I followed the convention of put in all the decorations first, before inserting code.
What got me was how after a period of time using c#, coding vb, I felt like I was leaving stuff out, ... in particular the semi-colons.
|
|
|
|
|
Hey,
Go to Tools->Extension Manager. There are many useful extensions there for you like "Brace Completer" which will automatically puts '}' when you type '{', "Code alignment" for aligning your code automatically, "highlight all occurrences of selected word", "word wrap with auto-indent", "JScript Editor Extensions" for many useful JavaScript extensions.
Hopefully it will help you better coding
|
|
|
|
|
I often comment the closing brace, saves a lot of brace-matching but does add some clutter:-
...
}
}
}
}
|
|
|
|
|
RossMW wrote: Do you have any tips on keeping these damn { } under control?
Always, always, always have my opening and closing brackets in the same row or column. And put comments after }, as Member 10707677said.
Trying to figure out where the missing { is when people put the opening { on the same line as the function or if, is just making life unnecessarily hard. And sometimes I come across conditions that are so ugly, I have to do it there too...
if (((x==0) && (y==1)) && (z==2) && ((w==3) && foo==bar))
if ( ((x==0) && (y==1))
&& (z==2)
&& ((w==3) && foo==bar)
)
Occasionally, I have to go and ask whoever wrote it... why?
|
|
|
|
|
I've been doing web dev for a couple the last couple of years. Necessity (a/k/a providence) has allowed me to go back and play with C++.
At first, it was a fierce battle to bring distant memories into the fore - but like riding that bicycle: strong typing, ::, and the like, do give one a warm fuzzy feeling.
A clear move back towards the top of the fool chain.
Time to make some tracks towards home.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
I've been using C/C++ quite a bit for the last couple of years and I find a lot of satisfaction in using them.
New version: WinHeist Version 2.1.1 new web site.
I know the voices in my head are not real but damn they come up with some good ideas!
|
|
|
|
|
You need to seek help. Perhaps go and see a sharp therapist.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Your problems seem to be very basic.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Fool chain?
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
W∴ Balboos wrote: A clear move back towards the top of the fool chain.
I did some C++ for a Beaglebone a few months back. Funny thing is, when I started with C#, it took a while to get used to not having a .h with class/method prototypes. Thought it was a bad design. Now, when doing C++, I can't stand it. And even worse is (IMO) is the trend to put all the method code in the .h
Marc
|
|
|
|
|
Marc Clifton wrote: And even worse is (IMO) is the trend to put all the method code in the .h Oddly enough, I don't mind the idea of header files, but when I see the aforementioned I still can't help but think WTF.
Jeremy Falcon
|
|
|
|
|
Marc Clifton wrote: And even worse is (IMO) is the trend to put all the method code in the .h Then, again, it's a trend and who wants to follow trends, anyway?
Actually, when using VS20nn I follow the trend in that its templates set thing up that way (at least for C++ forms). I'm working on a console application (it needs to run and then go away on its own): the real main() is in a .cpp file. When I first started with VS I was quite taken aback by the whole thing. I'd come from the pristine world of "C". More of my foul-mouthed attention was, however, given to all the do's and don't's of managed (vs. unmanaged) code.
The thing I like about C++ (vs. C#) is that one has clear distinctions between namespaces and classes and all sorts of stuff (:: vs .), and more a less a better idea of what's really what. There's also "IJW" when I go unmanaged now and then.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Did the man who invented “knock-knock” jokes get a Nobel Prize?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
His act wasn't noble.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
Think he worked for Mel Brooks[^]
New version: WinHeist Version 2.1.1 new web site.
I know the voices in my head are not real but damn they come up with some good ideas!
|
|
|
|
|
|
No, the man who invented the Nobel Prize also invented bang-bang jokes.
Software Zen: delete this;
|
|
|
|
|
Hmm.. that does ring a bell.
/ravi
|
|
|
|