Sharp as a Marble
HomeAboutContactSyndicationLogin
 

So I’ve been working on this major project at work fixing some of the worst coding I’ve ever seen in my life. The requirements were that we use the underlying business rules and objects of the current application while rewriting the user interface (web based) to improve usability and performance.

Trust me, the absolute horrid level of coding is mind boggling. For the geeks of you out there, I have to constantly deal with beauties like this

Public Function GetByIndex() As Integer
          
Return 245
End Function

I guess declaring a CONST wasn’t good enough?

Anyway, the biggest problem with the whole application is that instead of breaking down the data entry screen into logical sections, it’s all on one page. Most of the fields cause the page to post back (refresh) when they’re changed, and the data sent to  and from the server is usually between 500k and 1 Meg!!!!. And we’re talking probably 100 fields. So needless to say, the users find the app too sluggish to use and being that the system this app was to replace is out of warranty, it’s kind of important we get the users off of the old one and into the new.

Enter me. I’ve had to come up with an architecture that would allow us to utilize as much as we can of the current app yet somehow magically make the damn thing perform well. I decided to break up the screens logically into smaller chunks and build a framework for them to plug into that would manage everything so that the developers could focus on a single screen without having to worry about how the other screens or navigation would work. We have to reverse engineer every screen as there is no documentation for the new application and the code is damn near impossible to follow, so I didn’t want the other developers having to worry about anything I could take care of for them.

Back to the point of this post. I’ve suffered some pretty severe depression over this project for the past 3 months. All we have done is sit around in meeting and discuss X and Y, document the minute details, talk some more, blah blah blah. I managed to do some pretty decent research and development and set up some proof of concepts, but I was itching to get this damn thing on the road because when we have this version up and running we can start focusing on a new application that will replace this one as well as a few others, and that’s a much more challenging process for me.

So, finally this Monday I get to branch the code and start putting in my framework from scratch. However, instead of writing a bunch of code, building, testing, fixing, writing, building, testing, etc. everything just kind of snapped together like a puzzle. I guess since we went through the design so thoroughly there was nothing to catch me off guard when it came time to put it into actual work. Now, I think 3 months was too long to be prattling on about a project, but I have to grudgingly admit that the technical design documents and the discussions absolutely made the implementation process painless (yeah, I know, the architect shouldn’t be the one coding, but we’re highly under staffed as it is).

There was even a ‘gotcha’ that popped up but because the design was flexible, it only took 5 minutes to implement new functionality and get all the components on the same page.

Finally, some work that’s actually satisfying for a change!

rolled out on Friday, October 21, 2005 8:36 AM
Comments
# RE: Work, and the associated joys that go with it - Keith

Rolled Out On: 10/26/2005 11:32 PM

I remember just enough coding to see what a dumbass statement that is.

God help you.

# RE: Work, and the associated joys that go with it - Boyd

Rolled Out On: 10/26/2005 11:25 PM

Reminds me of an app I worked on back in '99. It was a VB 6 Windows app, and I was responsible for the business rules and database access. The UI guy used a TabControl to hold upwards of 300 Windows controls.

Yeah, that was a high-performing app!

Comments have been closed on this topic.
 
TipJar
2A Blogger Bash
Other bloggers with guns.

News

Recently upgraded to Subtext 2.0.

Article Categories


General

Archives


October, 2008 (24)
September, 2008 (114)
August, 2008 (93)
July, 2008 (93)
June, 2008 (77)
May, 2008 (79)
April, 2008 (53)
March, 2008 (46)
February, 2008 (46)
January, 2008 (63)
December, 2007 (69)
November, 2007 (63)
October, 2007 (83)
September, 2007 (73)
August, 2007 (84)
July, 2007 (59)
June, 2007 (63)
May, 2007 (35)
April, 2007 (30)
March, 2007 (37)
February, 2007 (32)
January, 2007 (38)
December, 2006 (14)
November, 2006 (28)
October, 2006 (25)
September, 2006 (24)
August, 2006 (28)
July, 2006 (27)
June, 2006 (28)
May, 2006 (14)
April, 2006 (17)
March, 2006 (35)
February, 2006 (33)
January, 2006 (26)
December, 2005 (15)
November, 2005 (22)
October, 2005 (35)
September, 2005 (37)
August, 2005 (50)
July, 2005 (34)
June, 2005 (55)
May, 2005 (53)
April, 2005 (56)
March, 2005 (57)
February, 2005 (77)
January, 2005 (72)
December, 2004 (79)
November, 2004 (76)
October, 2004 (59)
September, 2004 (74)
August, 2004 (69)
July, 2004 (75)
June, 2004 (56)
May, 2004 (28)

Post Categories


Humor (rss)
Views (rss)
Catblogging (rss)
News (rss)
Politics (rss)
Geekdom (rss)
Recipes (rss)
Blogging (rss)
Wingnuts and Moonbats (rss)
War on Terror (rss)
Photography (rss)
Brewsky (rss)
Guns. Lots of Guns. (rss)
Daughter Blogging (rss)
TMI (rss)
Anxiety & Panic Attacks (rss)
Gun Myths (rss)
Reloading (rss)
Range Time (rss)
Anti-Rights Idiocy (rss)
Firearm Safety (rss)
A Cancer Story (rss)
Second Amendment Blog Bash (rss)
Gun Rights (rss)
Gun-Free Zones (rss)
Self Defense (rss)
The Line Is Here (rss)
Getting old sucks (rss)
NRA (rss)
2A Blog Bash (rss)
Out of sight, out of mind (rss)
Video Podcasts (rss)
Para Blackwater Training (rss)
GTI (rss)
You need this (rss)
Competitive shooting (rss)
PSH (rss)

Image Galleries


Beyond the Pale brewing session

::Other Digs


The Line Is Here

::Sharpest Marbles


Eject! Eject! Eject!
Instapundit
Iraq the Model
Protein Wisdom
QandO
Sharp as a Marble
Vodka Pundit
WILLisms
Witting Shire
Wizbang

:Second Amendment


A Keyboard and a .45
Alphecca
Another gun blog
Anthroblogogy
Armed and Safe
Call Me Ahab
Carnaby Fudge
Days of our Trailers
Double Tapper
Dustin's Gun Blog
Fighting for Liberty
Great Blue Whale
Gun Owners Against Violence
Gun Pundit
Guntards
Justin Buist
Live from the (upper) Texas Gulf Coast
MArooned
Mausers and Muffins
Mike-istan
Musings of the Geek with a 45
Notes from the American Outback
Oleg Volk
Papa Delta Bravo
Pro-Gun Progressive
Random Nuclear Strikes
Ride Fast and Shoot Straight
Roberta X
Say Uncle
Sear and Hammer
Snowflakes in Hell
The Anarchangel
The Armed Schoolteacher
The Bitch Girls
The Breda Fallacy
The Countertop Chronicles
The Law Dog Files
The Liberty Sphere
The Mad Rocket Scientist
The Madman Raves
The Other Side of Kim
The Real Gun Guys
The Sentinel
The Smallest Minority
The View From North Central Idaho
The War on Guns
View from the porch
Walls of the City
West, By God
Xavier thoughts

Blogroll


Guide to Midwestern Culture
Basil's Blog
Captain's Quarters
Coalition of the Swilling
Cold Fury
Cranky Neocon
Daily Pundit
dorkafork
File It Under
Florida Cracker
Garfield Ridge
INDC Journal
Is Full Of Crap
Medium at Large
Notes from the trenches
One Ping Only
Sean Gleeson
Sekimori
Sissy Willis
Six Meat Buffet
Speed of thought
Squeaky Wheel Seeks Grease
The Belmont Club
The Munchkin Wrangler
The Spoons Experience
The Unforgiving Minute
Tim Worstall
UNSpace
Vern's Blog

Extended Blogroll


21st Century Paladin
Bill Peschel
Cowboy Blob
Craziness
Flight Pundit
Hubs and Spokes
In the Right
Pajamaverse
PEER Review
TechnoChitlins
The Tygrrrr Express

Funny, as in Ha-ha


Ace of Spades HQ
Cox & Forkum
IMAO
ScrappleFace
The Superficial
Topic Drift
Wuzzadem

Good Reads


Drink This
Evil White Guy
Leaning to the Right
Ramble Strip
Save the Soldiers
SondraK
The Resplendent Mango
Triticale
You Big Mouth You

Tampa Area Blogs


Tampa Film Fan

My Technorati Conversations

Hang in there Mom

Cool Post-it Note Icon