|
Have you ever used the decorator pattern? I use to love MVVM - but IMO decorator pattern kills it every time for ease of use and clarity and most importantly making changes and upgrades for future features.
|
|
|
|
|
So apparently:
UWP = evil
WPF = half-baked and too steep of a learning curve.
WinForms = too old and obsolete
Now what?
|
|
|
|
|
Dennis_E wrote: Now what? 42
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
|
bool isOffset = new bool();
if (reader["foo"].ToString().ToUpper().Trim() == "BAR")
isOffset = true;
else
isOffset = false;
I'll stop now.
Marc
|
|
|
|
|
Please, for the love of bacon, STOP POSTING THIS CRAP!
|
|
|
|
|
Dave Kreskowiak wrote: Please, for the love of bacon, STOP POSTING THIS CRAP!
It's about the only way that I can stay sane. Thank goodness I have TW&TW as an outlet for my pain.
Marc
|
|
|
|
|
Marc Clifton wrote: It's about the only way that I can stay sane.
Cheech and Chong may have something to help with that.
Wait a minute. For some reason I can hear Tommy Chong's voice when I read that code. Sounds about right.
|
|
|
|
|
Too bad he/she(it?) didn't have "bar" in the initial quotes. Then you could have replaced the construct with
bool isProgrammerCompleteFnIdiot(true);
Sudden Sun Death Syndrome (SSDS) is a very real concern which we should be raising awareness of. 156 billion suns die every year before they're just 1 billion years old.
While the military are doing their part, it simply isn't enough to make the amount of nukes needed to save those poor stars. - TWI2T3D (Reddit)
|
|
|
|
|
David O'Neil wrote: bool isProgrammerCompleteFnIdiot(true) || isProgrammerNew() FTFY
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Syntax error: expecting '{' after ')'
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Please post your question in Quick Answers.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Just in case your bools give you a NullReferenceException.
And your BaR s have trailing spaces and lower cases.
And you really need those if else statements...
Just out of curiosity, are you sure Trim() also trims uppercased spaces?
|
|
|
|
|
You joke, but I've seen code that "uppercased" spaces to \0
|
|
|
|
|
That is legitimately frightening
|
|
|
|
|
A little pointless but not too crazy. bool is just an alias for System.Boolean . The else was the silly part.
Boolean isOffset = new Boolean();
if (reader["foo"].ToString().ToUpper().Trim() == "BAR")
isOffset = Boolean.Parse(Boolean.TrueString);
Though I suspect unlike above that true and false are probably aliases for pre-defined constants. Couldn't find documentation on how they're created; above was just a guess using public Boolean members. Also true and false are operators that can be overloaded to create nullable types prior to .NET 2.0 (Nullable<T> ).
Of course it's still silly to do it this way. bool is shorter to write and using true and false is both clearer and shorter.
modified 31-Jan-17 16:53pm.
|
|
|
|
|
This goes well with a comment such as
|
|
|
|
|
Well, the whole thing could be reduced to
bool isOffset = reader["foo"].ToString().ToUpper().Trim() == "BAR";
Why couldn't the programmer see that? Why didn't someone in the 2+ years that this code has been in production fix it?
Marc
|
|
|
|
|
Very true! I was just pointing out that new bool() isn't as crazy as it looks at first glance
|
|
|
|
|
Jon McKee wrote: I was just pointing out that new bool() isn't as crazy as it looks at first glance
Quite so. I don't usually even think about bool being shorthand for System.Boolean, and it's good to be reminded of the deeper nuances of the language.
Marc
|
|
|
|
|
Marc Clifton wrote: Well, the whole thing could be reduced to
I guess it can if reader["foo"] can never return null.
|
|
|
|
|
So, just for my own understanding then, something like this would be better then correct? ...
bool isOffset = (reader["foo"]?.ToString().ToUpper().Trim() == "BAR") ?? false;
Jeremy Falcon
|
|
|
|
|
Marc Clifton wrote: Why couldn't the programmer see that? Why didn't someone in the 2+ years that this code has been in production fix it?
I have always predicted that this type would show up on the scene sooner or later and, by now, have seen them in action often enough.
They actually do as they were told and avoided memory management at all cost. That is why they have no understanding what value types and reference types are all about, nor do they have any idea how value types are an illusion created by the compiler to spare us having to wrestle with references and check for null for every variable. To them these things make no sense and appear to be some random and arcane rules which have been inherited from languages of the past.
The same goes for logical operators. I have given up on trying to help the kids when they can't get it done. They think that's more of this arcane ancient stuff that nobody needs to know anymore. Letting them figure it out themselves is the only way to convince them otherwise. So be it.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
FWIW while bool is "sort of a struct", like all primitive types instances of it are "created" (without any ctors being called) by MSIL instructions, eg true is created by
ldc.i4.1
And new bool() literally is (not just sort of metaphysically/hypothetically according to an AS-IF rule but the literal compiler output)
ldc.i4.0
I guess the moral of this story is that bool is int
|
|
|
|
|
Interesting. Looking at the CLI Specification[^] I.8.2.2 on page 46 that makes sense. Under all the abstraction it's an integer type.
|
|
|
|