|
PIEBALDconsult wrote: Or they can work but not look good.
That's me
|
|
|
|
|
Entirely depends on the cost of DataRowView - it may be a simple reference holder / adapter class whose creation is cheap, and CopyTo likely does only a flat copy (I don't know, though).
An alternative might have to inject very complex code code to provide the same isolation level (e.g. allowing insertions and deletions applied to the underlying dataset during your enumeration).
So this might be a WTF, or might not.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist
|
|
|
|
|
peterchen wrote: Entirely depends on the cost of DataRowView - it may be a simple reference holder / adapter class whose creation is cheap, and CopyTo likely does only a flat copy (I don't know, though).
Hi peterchen!
I did investigate that and found out, inside of DataView there is an "Index", managing a RBTree, and CopyTo takes the RBTree-Enumerator, who emits Integer - Indicees. These Indicees do reference the target-Datarow in a rowCache-array of the DataTable.
To finally access the DataRowView there is a rowViewCache - Dictionary<DataRow, DataRowView> inside DataView.
I built my own enumerator as wrapper of the RBTreee-Enumerator.
This makes a enumeration-speed-up of DataRow of (only) 1 : 1.5 for 831 DataRows.
To access only the first DataRow (then break foreach) the speed-up-factor is 1 : 4.
So now I'm actually unshure, wether my selfmade-enumerator is worth-while.
|
|
|
|
|
Interesting results - and good you investigated that! So indeed there are reasonable performance tradeoffs.
In any case, I wouldn't expect the enumerator to be optimized for a "break after first". That's a very uncommon scenario - and if you run into it frequently, and it hits your performance, you could always optimize by "get first, test, then enumerate" on the caller side.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist
|
|
|
|
|
A former place of employment wrote a LOT of engineering software (Fortran naturally).
This was at a time when we were just able to get our hands on a 640kb PC, the software, even with the best compilers and linkers available still sat at over 800kb.
One of the programmers was prone to naming variables using expletives, which made debugging fairly tedious, there's only so many sh#ts and fu$ks you can put up with before it becomes tiring. However what brought the most amusement was a variable for "Volt Drop Analysis" - it was abbreviated to "VDAnal". Nobody could keep a straight face while debugging that section of code, because it was just so unintentional.
|
|
|
|
|
Reminds me of a time, many years ago, when I worked for someone who thought it was fun to prefix every variable with his initials. He just didn't get why it was wrong.
|
|
|
|
|
I used to use the hungarian rg (for range) notation for an array - as in rgKeys - one of our Seniors at an old job consistently told people it was cos of my initials, and copiously took the proverbial...he felt silly when I explained
C# has already designed away most of the tedium of C++.
|
|
|
|
|
digital man wrote: He just didn't get why it was wrong.
It is rather to tough to make them understand that their stand is wrong and to correct them. It is a proven saying that it is hard to straighten a dog's tail as also that in the particular case it would like singing near the ear of a total deaf man.
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson
|
|
|
|
|
digital man wrote: He just didn't get why it was wrong.
Out of curiosity why is that wrong?
a) All the user defined variables are together in the auto complete box (intellitype)?
b) As long as the rest of the name reflects it's use, what does it matter?
c) In a team based environment it keeps a (admitidly fairly rudamentary) track of who coded what
|
|
|
|
|
Lee Humphries wrote: One of the programmers was prone to naming variables using expletives, which made debugging fairly tedious, there's only so many sh#ts and fu$ks you can put up with before it becomes tiring. However what brought the most amusement was a variable for "Volt Drop Analysis" - it was abbreviated to "VDAnal". Nobody could keep a straight face while debugging that section of code, because it was just so unintentional.
I can't believe that anyone would do that. We are supposed to be professionals. If I was his supervisor, he would be fired the first time I saw that. Very unprofessional, immature, and like you said, very difficult to debug.
I'm going to become rich when I create a device that allows me to punch people in the face over the internet.
"If an Indian asked a programming question in the forest, would it still be urgent?" - John Simmons / outlaw programmer
|
|
|
|
|
Justin Perez wrote: Very unprofessional, immature, and like you said, very difficult to debug.
I agree, however......
A bit of fun boosts moral and increases productivity.... Lee still remembers that code whereas I bet he doesn't remember much other code from the same period.
|
|
|
|
|
A colleague of mine keeps talking about an intern they had, and who simply had not understood the concept of variable names.
When he was told that "A", "B" and "C" where not to be used, he felt forced to resort to somewhat totally arbitrary:
He started to use animal names: "lion", "rhino" and "giraffe" and so on.
His variable named "giraffe" was left in the code as to commemorate this guy.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
jhwurmbach wrote: His variable named "giraffe" was left in the code as to commemorate this guy.
And if there was a variable named 'dinosaur', that module can be declared obsolete too. Sometime back we had an interesting discussion on Dinosaur and VB in Soapbox. Perhaps if you are interested, check out this permalink:
http://www.codeproject.com/script/Forums/View.aspx?fid=2605&msg=2377913[^]
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson
|
|
|
|
|
Well, thats a step up from most Fortran code you see, which usually uses single letter variables - two letters if you're lucky. /
|
|
|
|
|
We've got a ReleaseAnalWnd function kicking about in our codebase.
I've no idea if it was originally intentional or not as it's been sitting about since the dawn of the windows version of the software.
|
|
|
|
|
|
Analysis should not be abbreviated too easy to end up as part of suggestive combinations.
|
|
|
|
|
an (ex-)colleague of mine (a highly paid consultant ) had to take over some of my code and found nothing better than to select a global variable and do a replace ALL with "this." as prefix... After that the entire text kinda had a blue-ish shine to it...
He took the code for 1 or 2 weeks and I spent 3 days in cleaning it up... a little.
|
|
|
|
|
we had a young whipper snapper MIT graduate on a project years ago (mid 90's) who used to use the stupidest variable names ever. His favorite was "smack"
if smack {<br />
<br />
} else {<br />
<br />
}
And he reused the same variable names in all the different modules. So you never really knew which smack you were look at.
The worst was when he instantiated a object and he named it after the client. The only issue was that the module was licensed to that particular client and when we used it on the next project it was the first clients direct competition. These "clients" were book publishers so they owned everything and when they were reading through the source code and came across their biggest competitors name they sorta blew a gasket, so to speak!!
|
|
|
|
|
When I was a lad, working in a COBOL shop, there was a test program which used the names of all the punch room girls as variables. I can't recall what it did but it had memorable lines like: MOVE MARY TO BED and PERFORM SEX UNTIL SATISFIED.
Dave Cross
|
|
|
|
|
Yesterday I had an opportunity to visit a regional supermarket. Indian CPians would be able to understand and appreciate 'Trinetra (now 'More for you')', which has opened a lot of new outlets now.
After shopping, when I went to checkout, the console showed an interesting error
"Operation Is Not Allowed When the Object Is Closed "
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson
|
|
|
|
|
Least they are using objects
|
|
|
|
|
To where did they outsourse their development?
|
|
|
|
|
India of course
WPF - Imagineers Wanted
Follow your nose using DoubleAnimationUsingPath
|
|
|
|
|
PIEBALDconsult wrote: To where did they outsourse their development?
America.
|
|
|
|