L
Logan S.
I'd appreciate your opinion of the following situation.
I just started with a new client and I am now responsible for maintaining
one of their important ASP.NET 2.0 Web applications.
One page in it has the following:
1. over 1,700 lines of HTML/ASP.NET markup in the aspx file.
2. more than 6,000 lines of C# code in the code-behind
3. more than 4,000 lines of code in the class that the C# code-behind
derives from (the inheritance chain is something like
Page--->Helper--->CodeBehind--->aspx)
4. the aspx page has a TabPanelContainer from the ASP.NET ajax toolkit with
5 TabPanels in it.
5. the aspx page has an UpdatePanel (all ajax calls are done via this
UpdatePanel mechanism)
6. five UI controls trigger async postbacks, and are monitored by more than
60 AsyncPostBack triggers.
7. other UI widgets include approximately 16 check boxes, 10 drop-down
lists, 5 ListBoxes, several radio button lists, 15 TextBoxes, dozens of
labels, and about 10 extender controls from the ASP.NET ajax toolkit (from
the VS2005 add-on).
8. The code-behind contains lots of non trivial logic that enables/disables
shows/hides various UI widgets based on business logic and runtime
conditions (this thing talks with 5 different SQL Server databases on the
back end, including the ASPNETProvider database). Extensive and complex data
validation rules are also implemented.
9. Many developers have worked on this page over the years - resulting in a
lack of uniformity in coding standards and conventions.
To be clear, all of the above are in one single page, not the entire
application.
Given the above description, and knowing nothing else, what is your initial
reaction?
If I were to state that this thing is difficult to maintain, with
difficult-to-reproduce UI bugs and behavior, would you be at all surprised?
Would it be reasonable or unreasonable to expect that substantial new
functionality could *easily* be added to this page?
I just started with a new client and I am now responsible for maintaining
one of their important ASP.NET 2.0 Web applications.
One page in it has the following:
1. over 1,700 lines of HTML/ASP.NET markup in the aspx file.
2. more than 6,000 lines of C# code in the code-behind
3. more than 4,000 lines of code in the class that the C# code-behind
derives from (the inheritance chain is something like
Page--->Helper--->CodeBehind--->aspx)
4. the aspx page has a TabPanelContainer from the ASP.NET ajax toolkit with
5 TabPanels in it.
5. the aspx page has an UpdatePanel (all ajax calls are done via this
UpdatePanel mechanism)
6. five UI controls trigger async postbacks, and are monitored by more than
60 AsyncPostBack triggers.
7. other UI widgets include approximately 16 check boxes, 10 drop-down
lists, 5 ListBoxes, several radio button lists, 15 TextBoxes, dozens of
labels, and about 10 extender controls from the ASP.NET ajax toolkit (from
the VS2005 add-on).
8. The code-behind contains lots of non trivial logic that enables/disables
shows/hides various UI widgets based on business logic and runtime
conditions (this thing talks with 5 different SQL Server databases on the
back end, including the ASPNETProvider database). Extensive and complex data
validation rules are also implemented.
9. Many developers have worked on this page over the years - resulting in a
lack of uniformity in coding standards and conventions.
To be clear, all of the above are in one single page, not the entire
application.
Given the above description, and knowing nothing else, what is your initial
reaction?
If I were to state that this thing is difficult to maintain, with
difficult-to-reproduce UI bugs and behavior, would you be at all surprised?
Would it be reasonable or unreasonable to expect that substantial new
functionality could *easily* be added to this page?