Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / February 2008

Tip: Looking for answers? Try searching our database.

managing customizations in existing codebase?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
bryanp10@hotmail.com - 19 Feb 2008 21:14 GMT
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 - 19 Feb 2008 21:44 GMT
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.

> 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
[quoted text clipped - 23 lines]
> 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 - 19 Feb 2008 21:47 GMT
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.

> Rule #1
> Code to an interface, not an implementation (concrete class).
[quoted text clipped - 48 lines]
>> 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?

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.