Home » none » Do you write quality programs? Really?

Do you write quality programs? Really?

OK.. first a disclaimer.  This post is generated off of software I am evaluating and has nothing to do with anything I’m currently working on (just in case any of my clients read this :) )

So, I think we all believe we right quality software.  Shoot!  Even when I got my first job, I was convinced I was writing good stuff…until I looked at it six months later.  And sure most of the time, my code worked.. if you used it the way I used it.  But, we all know, it’s the details that make the difference between good software and crappy software.  So, here’s a check list:

1)  If you had to, could you use a keyboard to navigate your program and would it make sense if you did?  Can you tab from one field to another in a logical sequence?

2)  If you have dialog boxes in your application, is the default button implemented?  Can you press the ENTER key and have it automatically “click” the default button?

3)  Again, on dialog boxes, if you press the ESC key, does it “click” the cancel key or the “close” button?

4)  Does the screen work on the various screen sizes and various fonts?  For .NET Windows forms applications this would mean implementing the various layout managers (Table, Flow, etc) and making the lables “auto size”)

5)  If you allow the user to resize the window, do the controls in them stretch or move with the window appropriately?

6)  If you use colors as an indicator on the screen, are you using a system color?  Or will the item disappear if the user decides to use a different color scheme than the Windows default?

7)  If you use colors as an indicator, do you also provide an icon for those of us who are color blind?

8)  If you allow copy/paste, do you allow it via the keyboard (using STANDARD keystrokes) as well as the main menu and a context menu?

9)  If your system will only allow fields of a certain length, do you prevent the user from even entering a string longer than that length in the input form?  This assumes, of course, that you are validating your other inputs.  But this one gets missed a lot.

10)  Have you limited the text on the screen to necessary prompts and put any extra information the user may need in a tooltip?

11)  Assuming you have validations in place, when there is a problem with what the user entered, do you tell them as well as you are able, what they did wrong?

12)  Do you do any error checking at all?  Or do you expect the user to use the program perfectly each time?

Well, that’s twelve I can think of right off the top of my head from two separate programs I know about.  What’s you list?  Tell me in the comments.

Like this Article? Subscribe to get every article sent to your email.

Related Post

  • YAGNI – You Aren’t Going To Need ItYAGNI – You Aren’t Going To Need It One of the design principles in software development is to only write what you need today.  This has taken on the moniker of YAGNI (You Aren’t Going To Need It). The question is, […]
  • DotNetNuke 5.14 Search User Enter Key IssueDotNetNuke 5.14 Search User Enter Key Issue I recently upgraded a DotNetNuke installation and found several issues that are either different from the 4.x series or are now broken. Most annoying is that there is now no longer any […]
  • Overriding Events in VB.NETOverriding Events in VB.NET Back in the day, you use to be able to override an event in VB by using the drop down list in the code window.  Today, I had a friend who is moving from Visual Studio 2003 to Visual […]
  • What’s In My Blogging Toolbox?What’s In My Blogging Toolbox? So as I thought this week about what I might write, I decided to review the various tools that I use to get stuff done.  I started this post with the stuff I use to create the blog […]
  • Renaming Properties, Methods and VariablesRenaming Properties, Methods and Variables Have you ever written some code and named something one thing only to realize that it should be named something else?If you haven't you haven't been programming for very long.  Maybe […]

About Dave Bush

Dave Bush is a Full Stack ASP.NET developer. His commitment to quality through test driven development, vast knowledge of C#, HTML, CSS and JavaScript as well as his ability to mentor younger programmers and his passion for Agile/Scrum as defined by the Agile Manifesto and the Scrum Alliance will certainly be an asset to your organization.