How Woyano Works Discover Publish Connect Create your channel Give Back Contribute Now

Things You Should Never Do When Programming

Rate this:
By Strolen (Contact - View My Woyano)
Published Tue 20 Mar 2007, 326 Views, 3 Comments

I read the linked article and it is extremely convincing and converted me. I was on the edge of a major rebuild/rewrite.

Looking at my own code and the thoughts I had paralleled much of what he said. The community I am involved in has spent a lot of time bug killing on the site. All this bug tracking is very time intensive and detail orientated. Some of those bugs are just plane tough to find and very erratic. Every time one of these bugs are found and fixed, the site becomes that much more polished. Starting from scratch would the most fun but would most likely induce a whole new era in bugs.

I have rebuilt three times and I could probably justify each of them. I could probably justify another rebuild, but the beast that is the code is larger and much more complex now. Could I really hope to have a more polished codebase then it is currently? If all I am after is some major rewrites/restructuring and adding some new features, is it really worth starting over?

I now have to refigure out what I did and follow my own twisted logic, again, but at least that way I won't be reintroducing an entire new era of bug tracking and I won't lose all the progress I have made so far. Rewriting may not be as much fun as starting from scratch but it sure does make more sense.


This Item
Category: Knowledge, Snippets, Computers
Contributor
Strolen
Share it
Link to this item:
Bookmark this item: RSS Feed

People who liked this item

    3 Comments

  1.  
    JV ~ 19 months ago
    2 votes thumbs up thumbs down
    There is a half way house... which is... to undertake major refactoring sessions on your legacy codebase... OFTEN

    We do that at Woyano and it really works for us.

    Usually the issue is that you have one set of functions coupled with another by mistake. For example maybe we mixed up the user functions with the kudos functions, and it all got tangled together.

    To get out of this mess, just create your new completely abstracted classes/interface (in this case user & kudos)

    Write nice clean functions by gradually copying and pasting your code in from your mixed up code.

    Then gradualy start to replace your mixed up code with calls to the nice new functions/class you made.

    It also really helps, if, when you create an interface, you do unit tests.

    Unit tests, and automated build scripts rock!

    We currently do about 20 releases a day to woyano.

    Long story short... It's well worth investigating these words and concepts...

    agile, xp, continuous integration, unit testing
    [ reply ]
    1.  
      teqqles ~ 19 months ago
      0 votes thumbs up thumbs down
      You forgot to mention the fun developers have trying to be the first to commit changes to a file in version control (obviously more fun if you are likely to be working on the same file)
      [ reply ]
    2.  
      savbill ~ 17 months ago
      0 votes thumbs up thumbs down
      Good point. Just like code the article is no less applicable just because it was published Thursday, April 06, 2000
      [ reply ]
      1.  
        22 votes thumbs up thumbs down
        This is my two cents...

           
        Hey you know AdGuy always gets the last word! ;)

      Please Login to Add Your Comment   ..or..  

      Replying to comment by