managing customizations in existing codebase?

Discussion in 'ASP .Net' started by bryanp10@hotmail.com, Feb 19, 2008.

  1. Guest

    I've got a situation that I've not encountered before, but that I'm
    quite sure other folks have: How do you manage application
    customizations for an existing application without unduly impacting
    the main code?

    We'd like to be able to do one-off customizations for customers, but
    not include this potentially destabilizing code in our main branch.
    However, branching off the entire source tree seems inefficient, as
    well as creating a logistical problem if we have to go back and fix
    bugs for this client.

    I've got an application that we've recently moved to ASP.NET. SQL
    Server backend. Previous work on this app had quite a bit of
    customized spaghetti code in it... "if CustomVersion ==
    "BLAHBLAH" { do this instead! }". Clearly this is undesirable on many
    levels, not the least of which is an "Oh my god I can't believe we did
    that" sort of feeling.

    What I think is my best option right now is to create a
    "customizations" branch in source control, and store just those files
    that will change for a particular customer. The downside of this is
    that the build process will have to be updated to accomodate it, it
    makes development/test more difficult, and still has the problem of
    these files getting out of synch with main branch fixes.

    However... I haven't been able to come up with a really clean solution
    to what must be a common problem. How have other folks handle it?
    , Feb 19, 2008
    #1
    1. Advertising

  2. sloan Guest

    Rule #1
    Code to an interface, not an implementation (concrete class).


    "if CustomVersion ==
    "BLAHBLAH" { do this instead! }".

    That is...what you end up with when you don't follow Rule#1.

    ....

    Buy a good OO book.
    I'll recommend "Head First Design Patterns" for someone new to this inquiry.

    ...

    Here is a start OO blog
    http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!126.entry

    But that's a drop in the bucket.

    ...
    I used to work for a company that did "If companyName=="ABC" then".....so I
    feel your struggle.




    <> wrote in message
    news:...
    > I've got a situation that I've not encountered before, but that I'm
    > quite sure other folks have: How do you manage application
    > customizations for an existing application without unduly impacting
    > the main code?
    >
    > We'd like to be able to do one-off customizations for customers, but
    > not include this potentially destabilizing code in our main branch.
    > However, branching off the entire source tree seems inefficient, as
    > well as creating a logistical problem if we have to go back and fix
    > bugs for this client.
    >
    > I've got an application that we've recently moved to ASP.NET. SQL
    > Server backend. Previous work on this app had quite a bit of
    > customized spaghetti code in it... "if CustomVersion ==
    > "BLAHBLAH" { do this instead! }". Clearly this is undesirable on many
    > levels, not the least of which is an "Oh my god I can't believe we did
    > that" sort of feeling.
    >
    > What I think is my best option right now is to create a
    > "customizations" branch in source control, and store just those files
    > that will change for a particular customer. The downside of this is
    > that the build process will have to be updated to accomodate it, it
    > makes development/test more difficult, and still has the problem of
    > these files getting out of synch with main branch fixes.
    >
    > However... I haven't been able to come up with a really clean solution
    > to what must be a common problem. How have other folks handle it?
    sloan, Feb 19, 2008
    #2
    1. Advertising

  3. sloan Guest

    PS

    http://www.google.com/search?source=ig&hl=en&rlz=&q=code to an interface not an implementation


    Read about 5 articles a day....Java,C#,SmartTalk, whatever..for a week.

    Then go back and reread some after 1 month, 3 months, 6 months.

    They'll start "clicking" after you struggle with it some.

    ...

    Get the Head First Book, it'll open your eyes in alot of different areas.





    "sloan" <> wrote in message
    news:...
    >
    > Rule #1
    > Code to an interface, not an implementation (concrete class).
    >
    >
    > "if CustomVersion ==
    > "BLAHBLAH" { do this instead! }".
    >
    > That is...what you end up with when you don't follow Rule#1.
    >
    > ...
    >
    > Buy a good OO book.
    > I'll recommend "Head First Design Patterns" for someone new to this
    > inquiry.
    >
    > ..
    >
    > Here is a start OO blog
    > http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!126.entry
    >
    > But that's a drop in the bucket.
    >
    > ..
    > I used to work for a company that did "If companyName=="ABC" then".....so
    > I feel your struggle.
    >
    >
    >
    >
    > <> wrote in message
    > news:...
    >> I've got a situation that I've not encountered before, but that I'm
    >> quite sure other folks have: How do you manage application
    >> customizations for an existing application without unduly impacting
    >> the main code?
    >>
    >> We'd like to be able to do one-off customizations for customers, but
    >> not include this potentially destabilizing code in our main branch.
    >> However, branching off the entire source tree seems inefficient, as
    >> well as creating a logistical problem if we have to go back and fix
    >> bugs for this client.
    >>
    >> I've got an application that we've recently moved to ASP.NET. SQL
    >> Server backend. Previous work on this app had quite a bit of
    >> customized spaghetti code in it... "if CustomVersion ==
    >> "BLAHBLAH" { do this instead! }". Clearly this is undesirable on many
    >> levels, not the least of which is an "Oh my god I can't believe we did
    >> that" sort of feeling.
    >>
    >> What I think is my best option right now is to create a
    >> "customizations" branch in source control, and store just those files
    >> that will change for a particular customer. The downside of this is
    >> that the build process will have to be updated to accomodate it, it
    >> makes development/test more difficult, and still has the problem of
    >> these files getting out of synch with main branch fixes.
    >>
    >> However... I haven't been able to come up with a really clean solution
    >> to what must be a common problem. How have other folks handle it?

    >
    >
    sloan, Feb 19, 2008
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. dbuchanan
    Replies:
    0
    Views:
    3,712
    dbuchanan
    Dec 9, 2005
  2. Dinesh Upare

    Problem using Codebase

    Dinesh Upare, Aug 25, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    344
    Dinesh Upare
    Aug 25, 2003
  3. BentleyInc

    codeBase tag for custom http handler

    BentleyInc, Oct 3, 2005, in forum: ASP .Net
    Replies:
    2
    Views:
    2,680
    Steven Cheng[MSFT]
    Oct 5, 2005
  4. Jon

    One codebase, multiple configs?

    Jon, Apr 6, 2006, in forum: ASP .Net
    Replies:
    2
    Views:
    389
  5. Meir

    Findout the "codebase" ?

    Meir, Jun 29, 2003, in forum: Java
    Replies:
    3
    Views:
    821
    Sandip Chitale
    Jul 1, 2003
Loading...

Share This Page