Wednesday, 9 May 2012

JetBrains Resharper Bullshit


I've been on this mini-kicker to learn Vim, and I've also been looking at using nicer/different fonts in the IDE's I use daily in my job.  All is going swimingly, I may even post about my efforts with Vim, and I could spend some time posting on the Linux Format forums about Jon Robert's tutorials in their magazine - because they could be better explained... But hey ho...

At work today, I've crawled into a piece of project that I've not touched since early 2011.  The piece of code itself has the title including the date "2011" so I know its been a while.  The problem with it was trivial, that some value was not appearing (as it once had) in the title...

I had a look and was a little thrown off my feet, the code looked nothing like how I prefer to code, nothing like my style... This is C# by the way, where ones coding style is pretty much driven by the code completion built into Visual Studio, and the vision I was being presented with was really really alien.

It took longer to work out what the code, I had written, was doing in this refactored form than it would have taken previously, not least because the item I was looking for had a logical name of "m_Title", being a member and a title...

But this refactoring had stripped all that, had pushed the code to a really ugly look, a spikey, draconian, hinterland of a style of code... And I instantly hated it.

Being a programmer and hating looking at the code you've got to work with is a real problem.  And its interesting, as over the last few nights I've spent hours updating (to C++11) my personal coding standard and list of code problem solving patterns I like to employ.  I recommend everyone do this once in a while, to list out how you like to code, to justify why you like it that way and if you can't justify it at least show how elegant it may be...

So, I'd been doing that, I'd been working to better my own code, and then I open this spikey horrid refactored stuff, which I do consider my code... It was like the end of Old Yeller, I thought I have to take this, my beloved code, out behind the barn and blow its brains out.  I honestly felt violated...

And the worst thing was, this wasn't a person refactoring my code, this was not a code review, this did not lend anything to the functionality, efficiency or effectiveness of the code, it was a tool a program an automoton going through this engineered code and blanket applying its patterns and print.

I have nothing against tools to help program, but I have something against tools like this that trample all over the engineering... I've found out the tool used in this case was "Resharper" from Jet Brains... An annoying title for the software, "resharper" like it has to run around and do things for me that I can not do on my own.  I'm the software engineer, not it, very annoying.

Next I see that it advertises itself as "The Most Intelligent Extension for Visual Studio", I had always assumed that I, the programmer, was the most intelligent extention for Visual Studio.

The marketing material for this tool instantly turn me off, it smacks of "We know better than you", the tag line here reads: "making their developers productive"... Not "more productive".  Not an improvement, just actually "our tool gets them to actually work, because programmers are lazy"... That's how I interpret that comment.  I really don't like these tools, nor that company, nor their attitude.

And finally I got to talk to the person who had done this re-factoring, their reason, was to apply a coding standard to the code base... Fair enough... Have you discussed this coding standard?... No... Have you written this coding standard?... No.... Okay, have you looked at the code at hand and checked whether anyone was already utilising a coding standard, naming convention, calling convention or other such structure which may form a good starting point for a coding standard based on our own original thinking?... No...

Okay, so what have you done?... You've downloaded a coding standard from the internet, and blanket applied the resharper tool...?... Yes....

And do you see a problem with this?... No...

At this point, I just leave the conversation as a waste of my own breath... This all relates to this culture of "Change for Changes Sake" which annoys me at present, and it something I have made specific mention of both in this blog and in my personal coding standard.

No comments:

Post a Comment