|
Let's say I have never seen these two lines of code, OK ?
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Entropy isn't what it used to.
|
|
|
|
|
Ouch! && Ouch! || Ouch!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
I never follow other peoples' rules.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
It's my rule that people have to breathe (or die trying).
|
|
|
|
|
Though Nish's and OG's examples will work, I think it is symantically better to do this:
bool more = ProcessFlyouts();
bool foo = ProcessCarrierAnimations();
more = more || foo;
Less terse code (normally bad) - but explicit in calling ProcessCarrierAnimations .
|
|
|
|
|
"Eliminate needless local variables."
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
more |= ProcessCarrierAnimations(); ?
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
var more = more || initalizeMore();
is a common practice in javascript.
|
|
|
|
|
Now, I'm not going to look at the other answers before I post so I don't know if others have got it right, or if there are additional nuggets of information. If ProcessFlyouts returns true then the second test isn't carried out - it's a conditional OR statement. So, if you want ProcessCarrierAnimations to be evaluated, convert it to
more = more | ProcessCarrierAnimations();
|
|
|
|
|
How about:
more &= ProcessCarrierAnimations();
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Is it just me that would have done it as a oneliner?
|
|
|
|
|
That could make setting a breakpoint on the second call difficult. :shrug:
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
No big deal to change if necessary. :shrug:
But I actually find it easier to read on one line.
|
|
|
|
|
|
There's a risk that ProcessCarrierAnimations() may never be invoked, so the right thing (IMHO) would be to do something like this:
bool processFlyouts = ProcessFlyouts();
bool processCarrierAnimations = ProcessCarrierAnimations();
bool more = processFlyouts || processCarrierAnimations;
/ravi
|
|
|
|
|
No it did not do anything unexpected. || operator uses short-circuit evaluation. I would assume the intent was to call ProcessCarrierAnimations only if more was false.
|
|
|
|
|
It compiled?
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
This is JavaScript style, the developer meant, if "more" is "undefined" then try the other option ProcessCarrierAnimations(). But obviously, this doesn't work in C#.
Make it simple, as simple as possible, but not simpler.
|
|
|
|
|
Just to be contrary:
bool more = false;
if (ProcessFlyouts()) more = true;
if (ProcessCarrierAnimations()) more = true;
Software Zen: delete this;
|
|
|
|
|
The "early out" semantics of the logical operators (|| and &&) are the same for C#, C++, Java, and C, and have been well-specified since the First Edition of K&R C. How could the result possibly be unexpected?
Truth,
James
|
|
|
|
|
My bet is that ProcessCarrierAnimations isn't executed if ProcessFlyouts returns true.
If ProcessCarrierAnimations should still be called, you could remove one of the "vertical bars", changing the "short-circuit" OR into a regular logical-OR.
Richard
|
|
|
|
|
hhhmmm...I never thought of bitwise operators as being the 'regular' ones; quite the contrary, actually.
|
|
|
|
|
It failed to run ProcessCarrierAnimations because more was already true, and thus the evaluator short-circuited. You want something like this:
bool more=ProcessFlyouts();
bool more2=ProcessCarrierAnimations();
more = more || more2;
|
|
|
|
|
if(!ProcessFlyouts())
{
ProcessCarrierAnimations()
}
|
|
|
|
|
We have a third party web app that the business uses, and we support. We have many hooks into, and a lot of web services built around it to get data in and out.
The hardest thing we have is regression testing the third party app. Does anyone know of any good tools to automate the UI testing of this application? We have tried Selenium WebDriver, but due to the way the application is built, it doesn't work. It has a lot of javascript injection of items into its pages.
Thanks!
|
|
|
|