Consistency

important or overrated?

I think I am gradually getting more consistent in more things as time goes on and I find ways of doing stuff that I think are the best in the circumstances.

But every project is different and in many I will do a similar operation in different ways. Sometimes because I am searching for a ‘best’ way. Often because I forgot I already solved this in a previous project (even with the nagging deja vu). Sometimes I know I solved it before but can’t find the right project.

I do have tons of library code that finds its way into nearly all my projects, for managing Excel, managing Essbase, menus, common constants, ADO, logging etc.

I am thinking things like working with certain types of list, managing application state etc. Stuff that is not totally general but is in 1 in 3 projects or something. And I mean consistent across projects, not within one.

When I work with other peoples work if I find the same thing solved is many different ways in the same project I would probably start to worry. But if I got 2 projects and one used the app.rows approach and the other used the used range intersection approach it wouldn’t bother me as being inconsistent, would it bother you?

I think some consistency is handy enough, but overall I think it could be a little overrated, especially if we are constantly learning.

What do you think?

how consistent do you think you are (beyond library code stuff)?

cheers

Simon

Advertisements

3 Responses to “Consistency”

  1. alastair Says:

    I agree with you. I think it is relevent to the extent it speeds up delivery of an app from a design. If you have a requirement that you have delivered before and you can plug the code in again then you are likely to be winning. In terms of the small things I tend to be consistent in about 10 minute bursts!

  2. Marcus Says:

    Like most of you I’ve built up a library of code over the years which I use to standardise projects. Some are simple like routines to display file open and browse for folder dialogs. Others have evolved to the extent that I’ve wrapped common functionality into classes.

    For example there’s one class for working with arrays. There’s another class for working with UserForms and so on. Rather than being selective I’ll just drop the whole class into a new project where that functionality is needed.

    Then there’s all the project’s I’ve worked on in the last decade or so. But like you Simon, I frequently get that de ja vu, knowing that I’ve solved a particular problem before but forgetting which specific project I may have implemented it. The temptation becomes weighing up whether it would be faster to find the prior implementation or just code it again from scratch. I usually dedicate some time to finding it as I’d prefer to implement something that’s survived the real world.

    However there are patterns you see over time. Nearly every project requires database connectivity, so I’ve got a class for that. For most projects, you can get the skeleton up and running fairly quickly.

    When starting a new project which has an interface, I’ll go straight to the client’s web site and mimic their corporate colour schemes and imagery in the project. Much faster, easier and more professional than coming up with my own. They’ve already paid graphic artists to create an appealing corporate image – may as well leverage off that.

    Other aspects of consistency go beyond a code library such as coding style, naming conventions and so on. Abiding by your standards makes your development faster and more predictable (consistent). You reach a point where you don’t even think about those aspects any more – you just do them. This is a good thing as well as a bad. More than once have I encountered someone else’s code which solved something far more elegantly than I would have done because I’m stuck in a paradigm from trying to be too consistent.

    Regards – Marcus

  3. Marcus Says:

    Hi Simon,

    From the overwhelming responses, it appears that consistency in development is not all it’s cracked up to be. Maybe this is worth a post:

    http://www.australianit.news.com.au/story/0,24897,23501579-24169,00.html

    Cheers – Marcus

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s


%d bloggers like this: