The optimal approach

So I’m doing this embedded development right? And now I work with a bunch of guys that don’t obsess over pretty code, organized packages and outside in development, and easy build systems like I do. Things like public access members (and public access television) are considered the norm while method body size takes a back seat. I’m ok with some of the concerns: smaller memory means don’t spin up a bunch of object, use arrays over collections, change your underwear before going to bed, all seem like good ideas. What I struggle with (and will probably fight to the death over) is early optimization. I don’t care what device or platform you deploy to, optimizing before green barring is bad. You think you’ll save bits here and bytes there and you might be right. Maybe there’s redundancy between two method signatures and it’s highly likely. However, until you get that green bar you should leave all of the seemingly bloated and unnecessary scaffolding in place. Let your tests do the refactoring. Let your iterative design process shake out the redundancies. Small rant for now. Much more to come. If you’ve ever been in a situation where optimizing before getting a green bar saved your job (or rescued your cat) I’d love to hear from you. Include your life altering story in the square below, inquiring minds wanna know…

One thought on “The optimal approach

  1. Absolutely. Optimise last. That’s my opinion. I’d even go further than green bar. I’d put it off until it’s unquestionably necessary. Even then, I’d want some hard evidence that inefficient code in question was the indeed a significant contributor to the performance problem.

    That said, I’ve no embedded systems experience and your colleagues clearly do. I’d be interested to hear more of their perspective.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s