I believe that this article will demonstrate my thinking on the "better than good enough" approach to application development.
This is a pet peeve of mine: "1 documents". Say it out loud. To me, it's like listening to the screech of fingernails on a chalkboard to hear these words uttered. But that's okay, actually, since when does anyone actually say "one documents?" I'm pretty sure I have never heard these words spoken, not even by my three-year-old nephew. But, I read those words (and others like them) all too often in "good enough" software.
Of course, what we should expect to read are phrases like:
- "You have 0 unread documents"
- "You have 1 unread document"
- "You have 2 unread documents"
- ... etc.
And, by the way, dodging this issue by writing "You have 1 unread document(s)"... well, that just isn't good enough for me.
The code to accomplish this the "better than" way is trivial. All it requires is a certain attention to detail and a desire to do better than good enough.
Here are a few incomplete code segments to demonstrate what I mean:
C++
string strEnd( intCount == 1 ? "" : "s" );
cout << "You have " << intCount << " unread document" << strEnd << endl;
LotusScript
If intCount = 1 Then strEnd$ = "" Else strEnd$ = "s"
Print "You have " + Format$( intCount, "#,##0" ) + " unread document" + strEnd$
Formula
tEnd := @If( tCount = 1; ""; "s" );
tMsg := "You have " + @Text( tCount ) + " unread document" + tEnd;
@Prompt( [Ok]; "Information - " + @DbTitle; tMsg );
(In languages other than English, you would need to modify the code, of course, but the concepts should be adaptable.)
But, let's get real. Is this such a big issue? No, not really. Will this make or break your application? Probably not. So, why make such a big deal about "You have 1 unread documents?"
Mostly, because I'm a little anal that way. But, seriously, attention to details—details like doing better than "1 documents"—collectively do make or break our applications.