Who Wrote This Crap?

Who wrote this crap? The answer is right here http://www.codinghorror.com/blog/archives/000878.html

Since you already know who to blame (the other developers), isn’t this feature unnecessary?

You specifically want to know who to hit with the nerf gun ;). Or who has to pay a dollar because s/he broke the build.

Rubbish. Ford was founded 32 years after Benz Cie. They just stole the idea of the the ‘car’ concept and made cheap knock-offs. Everyone knows Mercedes are better designed and never go wrong…

kettch, what’s real fun is what you have the “who wrote this junk” reaction, realize it was you, sigh and start recoding it, only to remember after a few hours that you’re working with a completely broken component/API and wrote it that way because you have to watch out for and pick up after all of their mistakes.

C.R.A.P. actually works as an acronym for “Code Written by Another Programmer”.

Only when spoken however.

If this feature requires using VSS, which I assume it’s a safe assumption that it does, then it’s useless to me because you couldn’t pay me to switch from SVN to VSS.

I love ms’s tools, but VSS is incredibly weak. Checking out a file to be able to edit it? Single editor at a time only? What’s up with that? No thanks.

I’m able - a little - to avoid the “thinking everyone else’s code is crap” trap because so many of the problems I see can be blamed (or praised) on the weaker toolset they were using back when. I’m using Eclipse, and it’s set to warn about pretty much everything, and I like that - but when there’s a warning for, say, use of a generic collection, I can realize that typed collections weren’t available when the code was written. Automated refactorings weren’t there, either, which makes it at least easier to understand how methods reaching into the hundreds of lines came into being (but still…!)

And now there’s an objective crap, or rather, CRAP (Change Risk Analysis and Predictions) metric. See http://www.crap4j.org/ for a tool to calculate it for Java.

Jeff,

Ahhh… This feature is currently in Team Foundation Server 2005. I use it to backhand my coders (just kidding) on a daily basis.

Nick

In a perfect world, all code would be comprehensible and easy to maintain.
We don’t live in a perfect world. And there is no reason to ask ‘who wrote this crap’, like the borg say, it’s irrellevant.
Why? Because A, you, yes, YOU have to fix, modify, replace or whatever to it. B, even if you know who wrote this crap chances are very good that they are slightly less than useless to you for fixing, modifying, etc. because of the 6 month rule.
The only real reason for who wrote this crap annotation in my mind is so that some manager can throw something is someone’s face so that they can deny them a well deserved raise…
Oh, by the way, how do you get and ‘R’ out of Written?
It should be C.W.A.P. not C.R.A.P.

In case you didn’t read the article Jeff said…
"The upcoming Visual Studio 2008, or at least the Team System flavor of it, finally delivers a feature I’ve wanted for years"
He knows this feature exists in other IDEs and he’s just happy its in VS now. So all you my IDE is better than your IDE folks, give it a rest.

“Blame” is pretty negative. There may be extenuating circumstances why someone coded something – they are a brand new coder, poor specs, the boss told them to rush. Or, if they’re using C or C++ it’s the language’s fault…

Anyone here use AccuRev?

If you re-read what I said “Team Foundation Server 2005” currently has it in production since early 2005. VS 2005 is not another IDE it is the same IDE, and the feature Jeff is talking about is currently in VS 2005 since the beta of Team Foundation Server which connects with Team Suite 2005.

Hey Now,
I’ve seen alot on the new VS’08 in all that I’ve seen I still learn a new feature of VS from Coding Horror! I didn’t know that feature was available. Thx 4 the info, nice post.
Coding Horror Fan,
Catto

It’s great for Visual Studio to have something like this, but I hope it’s not tied to Visual Studio. Does this rely on some proprietary source control system, or is it just a front-end for standard systems? Could somebody create another front-end for the same data? Microsoft is well-known for vendor lock-in.

Too many IDEs want to assume they’re the only way the project will ever be managed. Mozilla has had a similar feature on the web for a while now. I love that anybody can use it regardless of what IDE they use or whether they have any Mozilla source code on their computer at all.
example:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/chrome/src/nsChromeRegistry.hrev=1.74

Mike on November 7, 2007 12:50 AM wrote:

"Many comments sound like this: “Oh oh oh, let me just say that this has been done, like, before, you know? So, it sucks, because it’s like, not new…[Are they] writing ‘new’ stuff themselves?.. It’s ridiculous people, move on.”

Well Mike, if Jeff hadn’t written “…finally delivers a feature I’ve wanted for years…”, most of these comments wouldn’t have said, “Gee Jeff, you coulda had it decades ago if you’d been paying attention.”

Ben, AccuRev’s next version (4.6, due out next month) has a version slider on the Annotate command that will allow you to compare any prior iteration of your file, including the ability to select and group related fields together for browsing.

Additionally, AccuRev allows you to diff any two versions of a file instantly, regardless of who worked on them or where.

svn blame = svn annotate = svn praise…but no one ever uses anything but blame :slight_smile:

If your own year old code doesn’t like like crap I submit that you haven’t been learning very much in the last year.