Ayende @ Rahien

Hi!
My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:

ayende@ayende.com

+972 52-548-6969

, @ Q c

Posts: 10 | Comments: 34

filter by tags archive

Comments

Frank Quednau

I tend to say that the best line of code is the one you never wrote, but this is the next best thing.

Kelly Stuard

So obviously that means it does 30% less now. Or that you put 30% of the code on one line. Oh, I know ... the curley braces are no longer on their own line! Because, of course, there is no way to get rid of or refactor code.

Kelly Stuard

BTW: not liking that I have to fire up an alternate browser to IE8 to post comments - not even compat mode works

Kelly Stuard

Oh, and there was a tag at the end of the first post; but I guess it got eaten.

Gloubidou

YUICompressor for CSharp :-)

configurator

Clearly this:

class SqlStatement { public string Whatever { get { return whatever; } set { whatever = value; } } private string whatever; ... }

is much better than this:

class SqlStatement {

public string Whatever {

  get {

     return whatever;

  }

  set {

     whatever = value;

  }

}

private string whatever;

...

}

Jeremy Wiebe

So did some of the functionality move to other classes or were you really able to remove ~300 lines and maintain similar functionality?

Erik van Brakel

@configurator:

Sometimes, putting stuff on one line makes the whole more readable. I often use that with properties, to cut down on the curly-braces-porn that's going on in there:

public string Whatever { get { return whatever; } set { whatever = value; } }

public string Whenever { get { return whenever; } set { whenever = value; } }

public string However { get { return however; } set { however = value; } }

Or, if you don't like it like that:

public string Whatever

{

get { return whatever; }

set { whatever = value; }

}

En then continue using proper spacing in the rest of the code. Those properties are SO obvious that you don't really need to space it out over 8 lines.

Either way, I don't think Ayende just removed whitespace, else he wouldn't be so happy with it ;-)

Ian Nelson

Admit it Ayende, you moved 300+ lines of code to static methods in a SqlStatementHelper class? ;-)

Ayende Rahien

Jeremy,

I create a separate class for handling that

Ayende Rahien

Ian,

Almost, it is called SqlStatementProcessor, and it is a command object

Jeremy Wiebe

Ah, so the refactoring was geting SqlStatement to be more focused. I'm always a big fan of those types of refactorings. :-)

Stephen

So you didn't just randomly comment lines out and cross your fingers when hitting compile?

I remember going from a prototype to a 'v0.1' the code was about a fifth the size, was faster, easier to program against and was far more extensible..

I don't think thats so uncommon for a prototype to be 'obese' but it was really nice that its evolution was so much smaller and yet tons better.

(usual day for a dev right? I always enjoy that feeling anyway, I do a lap around the office for high fives borat style).

Comment preview

Comments have been closed on this topic.

FUTURE POSTS

  1. Production postmortem: The case of the memory eater and high load - 2 days from now
  2. Production postmortem: The case of the lying configuration file - 3 days from now
  3. Production postmortem: The industry at large - 4 days from now
  4. The insidious cost of allocations - 5 days from now
  5. Find the bug: The concurrent memory buster - 6 days from now

And 4 more posts are pending...

There are posts all the way to Sep 10, 2015

RECENT SERIES

  1. Find the bug (5):
    20 Apr 2011 - Why do I get a Null Reference Exception?
  2. Production postmortem (10):
    14 Aug 2015 - The case of the man in the middle
  3. What is new in RavenDB 3.5 (7):
    12 Aug 2015 - Monitoring support
  4. Career planning (6):
    24 Jul 2015 - The immortal choices aren't
View all series

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats