On 31/03/2008, at 9:49 AM, Scott Klement wrote:

Folks, I'm working on an article that's tentatively titled "Classic
Traps and How to Avoid Them". The general idea is to discuss the classic
mistakes that programmers make while programming, and (where necessary)
explain how to avoid that.

This can be simple things like "Don't use 10000.01 to flip dates,
because it's an obscure technique that many people won't understand, so
even though it's really neat, don't use it".

Not only obscure but inefficient and it only works for the inane MDY date format.

But it can also be a much
more broad and sophisticated notion of a "trap".... "Don't get into the
habit of mixing business logic together with display logic. Although it
makes your program much easier to write, and the code is much easier to
follow, over time it results in a system that's very difficult to
maintain when the business wants to change something, it becomes very
slow and difficult to adapt the old system to the new paradigm"

Or something like that.

Anyway... I would REALLY appreciate your help. What I need to do is get
together a list of the classic traps that programmers fall into. Please
send me a list of the common traps and mistakes. You can just reply to
my e-mail address directly (I don't want to dirty up the lists too much)
The e-mail address at the top of this message will work fine.

I just want to get together a good list of classic traps so I can use
them in my article.

Basic stuff:
Don't use B data types in RPG for APIs. Use I or U.
Design your program (paper, pseudo-code, flow-chart, anything) before coding it
Separate business logic, from database I/O, from screen I/O
Write generalised routines whenever possible and externalise (i.e., service programs)
Program for reuse

Intermediate stuff:
Don't focus on performance when writing code. Focus on correctness and maintainability. Profile performance once the code works properly. Knuth's idea of "Literate Programming".

Buy suitable code libraries rather than always writing your own.

Don't hesitate to throw out old crappy code when making enhancements. Don't live with known code defects. Avoid software entropy.

Simon Coulter.
FlyByNight Software OS/400, i5/OS Technical Specialists

Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
ASCII Ribbon campaign against HTML E-Mail / \

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].