Just to add my 2 cents worth to this.

When one writes a large system with many things happening (potentially) at the 
same time one needs to code extremely defensively. This means protecting 
against all kinds of potential problems that have the opportunity to arise. As 
well, trapping if they do arise and writing a log or other ways that you as the 
programmer (because users will not tell you) are informed of the issues that 
you never thought would happen (because they will). Hopefully your logs (or 
other means) give you enough information so you can track it down and write the 
code better.

The alternative I lived through many years ago with my own code. As the 
application grows the strange behaviour grows. Tracking it down becomes near 
impossible. Therefore we had to go back in and write the code the way we should 
have written to begin with. Lots of back work, but all of us learned - 
hopefully.

Therefore creating standards of code, standards of methods, documentation, etc 
that are ALWAYS done. This is so that the ‘not likely to happen’ just cannot 
happen as far as you know because of the defensive code you have written. Still 
though - being notified so you can look back at your code and the data at that 
site and get that Ahh moment and write the code even better.

We implemented a feature set with an OEM product we had installed at many sites 
>100 with many 100+ concurrent users. We would collect various ‘problems’ at 
each site, and each night all the sites ‘called home’ and we recorded them in 
our local server for this feature. I could then look at these and be proactive 
in understanding what was happening that was a surprise. It might mean there 
was no problem, but we could write things better so that the issue didn’t 
occur. It could mean that there was a problem and we wrote our code to protect 
that. It could mean speed, convince, better user interface. All in all a great 
tool, and learned a lot about our code, coding, and user interaction with our 
system.

I may be paranoid, but I find writing protective code a better way to rest at 
night, weekends, and holidays knowing that the code is written well, though it 
takes much longer to get it that way (why I like our shell). 

Version 15 and version 16 are giving us a great set of commands so that we can 
write more defensively than we could before. It is giving us new features that 
let us write things we had to jump through many hoops to accomplish and ensure 
got done. Part of it for us is that our shell was based on a version of 4D with 
version 11/12. Our new shell is taking advantage of the new versions of 4D. An 
exciting time for us.

Jody

**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to