|
I have read both books and I agree with the authors on many precepts, however, the books suffer from the fundamental flaw of assuming expert level developers or developers with motivation to develop good code. Most business environments I go to love to say, "We don't have blame here" or "No one owns the code". Those two premises invalidate both books as they lead to engineering disasters. My advice is not necessarily aimed at the ideal art of development because the ideal environment is usually corrupted.
With respect to guard classes there is another refactor that suggests it would be more appropriate to use inheritance to make a decision like this. Furthermore, in a guard class is is presumed that the early returns have a very low weighted value and are exceptional and not normal flow actions. The very reason for the guard clause is to illustrate the importance. Unfortunately, what I usually end up correcting is massive series of if-then-else statements spanning many pages littered with returns. I guess to put my opinion in context: if I came across a method with a well thought out series of guard clauses I would leave it alone. Unfortunately, I have seen virtually no methods that fall into the narrow scope of guard clauses and I have been around the block a few times.
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway
|
|
|
|
|
Ennis Ray Lynch, Jr. wrote: Most business environments I go to love to say, "We don't have blame here" or "No one owns the code".
Ok, I understand you believe there are special circumstances ( though widely implemented) that make you believe it might not be practical, but that's not what you said:
Ennis Ray Lynch, Jr. wrote: Return is not allowed inside of methods more than once and should not be used by any method that does not have a functional result. Doing so is a poor programming practice that violates the one-in, one-out principle.
It's not poor programming practice. What you described is actually poor programming practice, you just think it's more practical given your stated circumstances. Or have I misunderstood your point?
led mike
|
|
|
|
|
I think we are beginning to understand. However, the point of my blanket statement is the fact that when introducing novice, inexperienced, or lazy programmers to the concept you cannot provide options. The allowance for violating the rule, is in my opinion, an advanced concept that a developer will naturally get on their own. My blanket statement will be ignored by anyone with the experience to do so and should be headed by anyone without the experience.
Maybe my error was in the presentation by saying not to listen to anyone else. However, experienced developers encouraging an inexperienced developer down the wrong path risks much. Sometimes I am a condescending A**, so you must forgive me :p
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway
|
|
|
|
|
Ennis Ray Lynch, Jr. wrote: Sometimes I am a condescending A**, so you must forgive me
And I'm not Yeah I wasn't concerned with that, just the statement of it being bad practice is all. No doubt the way the original poster was about to use it actually would be bad practice.
led mike
|
|
|
|
|
haha ya i just needed it to check input and if it was not correct exit and it worked thank you all
|
|
|
|
|
xxmikexx wrote: private void button1_Click(object sender, EventArgs e)
{
code to be run here
if (x ==5)
{
run more code
exit this block
}
more code here
}
From the look of your code, you don't need what you're asking for. A properly written if block is all it takes. You just about never need to use the "exit early" statements if the logic is laid out properly. Rewritten, you code translates to this:
private void button1_Click(object sender, EventArgs e)
{
if (x ==5)
{
}
else
{
}
}
|
|
|
|
|
thanks for that it is really hard to explain what i mean tho, i know about that but since it is a timer once it is executed it will set off all of the others that is what i want it to do but i want to go through one if statement each time the timer is used. i am making a program with a group of 16 buttons and when they click one it changes the colors of those around it and i want to send out a wave effect so the only practical way i could think of was finding something similiar to that break thing other wise all of them will go off i just dont really know how to explain what i need thanks for the help tho
|
|
|
|
|
It sounds like you need to rethink your logic a bit. The requirements you just spelled out shouldn't require such a complex if statement.
|
|
|
|
|
o really lol i guess there would be a better way
|
|
|
|
|
<br />
int x = 5;<br />
if (x == 5)<br />
{<br />
Debug.WriteLine("more code to runs here1");<br />
Debug.WriteLine("more code to runs here2");<br />
if(done) <br />
return;<br />
else<br />
{<br />
Debug.WriteLine("more code to runs here3");<br />
Debug.WriteLine("more code to runs here4");<br />
Debug.WriteLine("more code to runs here5");<br />
}<br />
}<br />
Debug.WriteLine("more code to runs here6");<br />
Debug.WriteLine("more code to runs here7");<br />
Debug.WriteLine("more code to runs here8");<br />
does it helps?
Srini
|
|
|
|
|
kinda i am using visual C# not the console one the one were you can place buttons and stuff they are similiar but different i cant test this till i am at school tomorrow when it returns where does it go to? this seems to help tho thanks alot if it just leaves the whole if statement that would be great
|
|
|
|
|
The first thing you should do when you get to school tomorrow is visit the admissions office and drop the class, then change your major.
The example he gave wasn't using a console window, it was using the debug window. Notice the difference, I'll spell it slowly, D e b u g and C o n s o l e. And BTW, the "the one were you can place buttons and stuff" is referred to as a Windows application. Your friends who graduate can tell you all about it.
only two letters away from being an asset
|
|
|
|
|
wow just wow how am i supposed to know that everything at school s blocked i have been programming for 3 days sorry i am not some master programmer in the 3 days since i have started everything i have learned is from code snippets... just please please do me a favor and dont comment on this thread if you are not going to help thats fine dont insult me... better yet just go die
|
|
|
|
|
xxmikexx wrote: better yet just go die
Well eventually I will, immortality would get boring after the first millennium anyway.
only two letters away from being an asset
|
|
|
|
|
seem to disregard the message i sent you
|
|
|
|
|
we dont have an "admissions office" also in high school you dont have a major...
|
|
|
|
|
mike few programmers here are just so stupid that they just waste time pulling each other legs.
They need a life....Anyway do not take it personally....Just ignore them and move on.
May be they are so proud of what they know. Just share it guys if you know and it doesn't matter if the problem is simple or complex. At least this guy is putting effort into it...
Yeh mike just remember you have to put 95% of the effort yourself. Spoon feeding is not acceptable here atleast in this forum.
All the best.
|
|
|
|
|
ya i agree alot i try not to get help unless i need it sorry for creating problems on the boards
|
|
|
|
|
xxmikexx wrote: high school
Well that explains a lot. Now, go do your homework and leave this to the adults.
only two letters away from being an asset
|
|
|
|
|
http://mansoftdev.com/Resume/Mark%20Nischalke.doc[^]
i believe i found that guys problem... he seems to be upset most likely because he has no people skills and by the looks of it cant seem to hold down a job... maybe just me but maybe no one else seems to like him, idk just throwing that out there
|
|
|
|
|
Wow, you found my resume online. I'm impressed and awed by your skills.
I see that not only are you an experienced developer, but also a psychologist. So tell me Dr., why do I hate my mother? Speaking of mothers, I think yours is calling. It's past your bedtime anyway, so run along little one.
only two letters away from being an asset
|
|
|
|
|
haha for a "big mature adult" which for whatever you seem to think you are, you behave much more imaturely than my little sister, i cant explain y you hate your mother but probably because you are a failure to what you truly want to be have average skills and think that towering over younger people and imposing your measly imaginitive power deep down inside this makes you feel better and people liek you need to grow up and are just dispicable.
|
|
|
|
|
Looking at your experience, i am sure you are definitely over 30 yrs of age.
And mike is a kid in front of you...Common man..chill out now.
It's not making you any better.
Be nice with others and they ll be nice with you. ***Simple golden rule***
|
|
|
|
|
haha ya i agree i probably should of just ignored everthing he said but it is funny since he is getting mad over nothing i dont care lol
|
|
|
|
|
Oh come on, it sure is fun and certainly made the day go by
only two letters away from being an asset
|
|
|
|