Showing posts with label Application Development. Show all posts
Showing posts with label Application Development. Show all posts

Thursday, March 26, 2009

Defensive Programming

I need to improve my defensive programming. This kind (the third bullet from Wikipedia): “Making the software behave in a predictable manner despite unexpected inputs or user actions.”

I use the tools that are available to me. I make fields that should receive numbers into number fields. I make required fields, well, required. I use field validation and translation. I don’t allow pasting or deleting in applications where users shouldn’t be pasting or deleting. I use drop down lists where possible and don’t “Allow Values Not in List” wherever possible. I use Julian Robichaux’s awesome OpenLog for error handling. The list goes on.

I test the applications. I test them myself first. I test them with actual users. I BEG them to try and do what they would normally do. I ask them (dare them) to try and break the application during testing.

And STILL those pesky users find ways to break the application *after* the final release.
Photobucket
I swear the UI could include a blank screen with a giant button in the middle that says “Click Here” and users will still say it doesn’t work because they clicked on the menu, and tried to select “Create” and do five other things besides hitting the giant button. . Maybe it’s my fault. I told this to Bob Balaban and he said the button should say “Click Here TO DO EVERYTHING”. :)

So my goal is to improve the ways in which I can program defensively. Yes, the onus is on me. I have to get better for a couple of reasons. 1) It is actually my job. 2) It makes my life easier (less complaints, less training, less calls).

On the other hand, complaining about users is a lot of fun. ;)

Wednesday, March 4, 2009

Overwhelmed – please tell me other people have felt like this!

Okay, so I’m a middle-bie. Not a newbie, but not an oldbie either. However, I’ve recently become acutely aware of how much I do not know.

There are times when I attend a Lotusphere session, or read someone’s blog and I feel like I could sit and read books, read code, take classes, develop, etc. for 24 hours a day, 7 days a week for YEARS and still never feel up to par with these people.

I have good days, too, where I figure out some cool way to accomplish what I needed in LotusScript and I stand up and do a little dance at my desk, but today, I am just feeling overwhelmed. I don’t know Java. I don’t know Javascript. I don’t design websites, I’m not Web2.0-cool. I’ve looked at the 8.5 Designer and freaked out because it just looks so different from what I am used to. I don’t have a computer science degree and sometimes I think that fact can erode whatever confidence I may have had in myself.

I know this feeling will pass. I will take a few hours (days?) to get acclimated to the new Designer. I will someday learn Java and Javascript. I know I have to be patient. But right now, I just want to know it all, and know it all now, and feel comfortable and confident in what I know.

Anyone else ever feel that way? Anyone? (Feel free to lie and say yes to make me feel better).