|
It's sort of both... it'd be properly brilliant if the "verb =" line were commented...
|
|
|
|
|
Tom Delany wrote: This is either brilliant, or just bloody awful.
What is the fourth character of the protocol?
Tom Delany wrote: I'm coming down on the side of "bloody awful":
How would you refactor it?
|
|
|
|
|
In my eyes it is ugly, but one of the easies way to compare strings (up to 8 bytes) in a most efficient way.
If it's needed and documented ... ok.
I recently saw a very strange way to copy an object in C++:
- the class defines all its data member attributes within 64 Byte
- the data member attributes are ordered to use alignment efficently
- copying the class is done this way (or similar)
C64bitClass src, dst;
__int64 *pnSrc = static_cast<__int64*>(&src);
__int64 *pnDst = static_cast<__int64*>(&dst);
*pnDst = *pnSrc;
This really ugly, isn't it!
|
|
|
|
|
if (result != Common.ErrorMsg.ErrorNone)
{
this.Dispatcher.BeginInvoke((ThreadStart)delegate()
{
});
return;
} I found this in code that is guaranteed to be called on the dispatcher's thread. Sigh2.
Software Zen: delete this;
|
|
|
|
|
Someone probably planned on coming back and filling this in someday.
|
|
|
|
|
That explains why he copy/pasted it all over the place.
Software Zen: delete this;
|
|
|
|
|
I guess he liked spaghetti (code) with a side of Copy-Pasta.
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
Procedural Object Oriented Programming (POOP).
|
|
|
|
|
Another guy here has his Special High-Interest Task list.
Software Zen: delete this;
|
|
|
|
|
Given you said it was replicated in multiple places, I can see only one possible perceived value -- to block this function from returning until after the dispatcher thread is finished executing something else. Such behavior isn't guaranteed, but it would work just often enough that I can easily see someone clueless thinking it does. Before totally writing it off, I'd look carefully at what's done with the dispatcher prior to executing this code.
As pointed out, this only makes sense if its run with an Invoke , instead of the BeginInvoke that's being used. Nevermind
We can program with only 1's, but if all you've got are zeros, you've got nothing.
modified 2-Apr-13 14:09pm.
|
|
|
|
|
It's a BeginInvoke call, which only blocks (very) briefly while the work item is queued to the dispatcher. The dispatcher in turn will execute a brief delay at some point executing the 'empty' work item.
Software Zen: delete this;
|
|
|
|
|
D'Oh! I wasn't paying attention and thought it was an Invoke call. Yeah, BeginInvoke has absolutely no value
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
Aaaahhh!, nothing like a do nothing instruction early in the morning...
|
|
|
|
|
I forget exactly what the purpose was, but I've seen something very similar done in WPF. The purpose was something like forcing the rendering to refresh. Though, I thought some "priority" (or something like that) was necessary for it to work.
I know, vague, but there could be a real purpose (that they apparently didn't leave a comment for).
|
|
|
|
|
WPF has the same constraint that you had under Win32 and MFC: you can only modify UI objects from the UI thread. I think the intent here was to promoted a UI change to the UI thread. Unfortunately, this code appeared in handlers that are already guaranteed to be called from the UI thread.
Software Zen: delete this;
|
|
|
|
|
That's a pretty special no-op.
As for using Invoke/BeginInvoke though, unless it's really really obvious that it can only be called in the dispatch thread (e.g. it's in an event handler or something), perhaps it used to be used from multiple threads, or the author couldn't be sure?
|
|
|
|
|
BobJanova wrote: it can only be called in the dispatch thread (e.g. it's in an event handler Got it in one. I explained this fact to the guy a number of times, and it still didn't seem to sink in.
Software Zen: delete this;
|
|
|
|
|
I created a Windows Forms Control Library in one of my projects, and VS2012 displayed the 'Designer Error' page with the message that no classes in the user control could be designed.
Strangely, VS showed all references as missing. Changing the target framework to 4.0 then back to 4.5 fixed the issue.
I don't know what happened, but it startled me.
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
Brisingr Aerowing wrote: I don't know what happened You DO use source control, don't you?
'I'm French! Why do you think I've got this outrrrrageous accent?' Monty Python and the Holy Grail
|
|
|
|
|
There were 2 projects in the solution, neither one had any real code (I like to lay out my projects before I start working). From what I dug up, it is a VS bug that has been there for a while. (Too lazy to pull up a link)
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
We have multiple data stores at my company. In one of the databases, there is a view of a table of a view of a table that was copied from another data store. So, the chain is something like this:
Primary Data Store (PDS)...
Dump Table Of PDS (DTP)...
Complex View of DTP (CVD)...
Dump Table of CVD (DTC)...
Complex View of DTC
The actual names of each of those are even more esoteric. And I'm pretty sure there are further derived tables of the final view shown above.
|
|
|
|
|
throw new BrainNotFoundException();
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
Found this in a sp, not sure why it was done this way, @fileLength and @userId are passed in, and i've changed the names of the tables so i could post this, so i realize the tables may not make sense(they do in the real code).
DECLARE file_Cursor CURSOR FOR SELECT Length
FROM Files f
INNER JOIN User p
ON p.UserId = f.UserId
INNER JOIN Playlist pm
ON pm.ListId = p.DefaultListId
WHERE p.UserId = @userId
AND pm.FileNumber <> -1
OPEN file_Cursor
FETCH NEXT FROM file_Cursor INTO @length
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileLength = @fileLength + @length
FETCH NEXT FROM file_Cursor INTO @length
END
CLOSE file_Cursor
DEALLOCATE file_Cursor
Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.
|
|
|
|
|
DBA should be shot for having allowed this to persist in his/her server!
|
|
|
|
|
we dont have an offical dba, we were trusted to check our own stuff once we proved we were doing things right (small shop). obviously nobody ever checked the proc this was in regardless of my recomending they do so.
Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.
|
|
|
|