My point exactly.

I've probably followed behind at least 50 mv programmers with all of my
clients. I can detect a style and 'bracket' them into understanding the way
they think.

Factor in the time frame of their coding and their limitations come out
pretty quickly.

As I balance my 15 clients, I am often that programmer following myself, as
I cannot remember every routine I've written for someone in the last 30
years. But recognizing easy-to-read code certainly helps get me back to
speed.

Thanks
Mark Johnson
----- Original Message -----
From: "Geoffrey Mitchell" <[EMAIL PROTECTED]>
To: <u2-users@listserver.u2ug.org>
Sent: Friday, August 03, 2007 4:42 PM
Subject: Re: [U2] RE: Cleaner Case Statement


> Alright, it really gets my goat when people start tossing around "you're
> not professional" nonsense.
>
> Early in my (10 year) programming career, I was fond of "clever"
> constructs like "if x else...".  As I have matured as a developer,
> however, I have realized that the hallmark of good code is
> maintainability, and one of the greatest keys to maintainability is
> readability.  The "if x else..." construct is non-standard, and it just
> doesn't flow.  Sure, I understand it, but I don't expect it, so it slows
> down my thought process.  Saying "if not(x) then..." accomplishes the
> same thing in a standard, easily readable form.  It is much closer to
> English language expression, and more in line with most people's thought
> processes.  As such, it will not slow me down in the least.  I will
> never have to look at it twice to make sure I'm reading it right.  It
> will make sense the first time.  Therefore, in my opinion, it is far
> superior.
>
> Remember, you're not coding for yourself.  You're coding for everyone
> who has to read your code after you.
>
>
> Symeon Breen wrote:
>
> >personaly i find 'if x else' or if y then else just as easy  to
> >understand. if you stumble over such simple constructs then you are
> >not a professional . sorry if that sound harsh, but it is my
> >2pennies...
> >
> >rgds
> >Symeon
> >
> >On 03/08/07, SP <[EMAIL PROTECTED]> wrote:
> >
> >
> >>The code should be easy to understand. Yes. we can figure out a lot of
stuff
> >>but if making the next guy to stumble over each line having to "figure
it
> >>out" is not very professional.
> >>
> >>----- Original Message -----
> >>From: "Symeon Breen" <[EMAIL PROTECTED]>
> >>To: <u2-users@listserver.u2ug.org>
> >>Sent: Friday, August 03, 2007 7:44 AM
> >>Subject: RE: [U2] RE: Cleaner Case Statement
> >>
> >>
> >>
> >>
> >>>Come on guys 'IF X ELSE blah' - is it really that bad/hard - it is
logic
> >>>and we are computer programmers, we should be able to figure out a lot
> >>>tougher stuff than that ;)
> >>>
> >>>
> >>>
> >>>
> >>>Rgds
> >>>Symeon.
> >>>
> >>>-----Original Message-----
> >>>From: [EMAIL PROTECTED]
> >>>[mailto:[EMAIL PROTECTED] On Behalf Of MAJ
Programming
> >>>Sent: 03 August 2007 01:32
> >>>To: u2-users@listserver.u2ug.org
> >>>Subject: Re: [U2] RE: Cleaner Case Statement
> >>>
> >>>Then you must have the luzury of programming from scratch.
> >>>
> >>>I support roughly 15 clients worth of software written in various
> >>>platforms
> >>>with some source code stretching as far back as 1974. Yes, 33 year old
> >>>code.
> >>>
> >>>I certainly program from scratch as well. But the incredibly large
> >>>installed
> >>>base uses
> >>>
> >>>IF X=1 THEN GOSUB 100
> >>>
> >>>instead of the ALL_OK=X=1 then IF ALL_OK THEN DO_SOMETHING
> >>>
> >>>Again, don't read into the literal nature of the example. The deviated
> >>>topic
> >>>was avoiding the ELSE as the first condition in IF X=100 ELSE GOSUB 100
> >>>which is historically inconsistent.
> >>>
> >>>My 1 cent
> >>>Mark Johnson
> >>>----- Original Message -----
> >>>From: "Jeff Flynt" <[EMAIL PROTECTED]>
> >>>To: <u2-users@listserver.u2ug.org>
> >>>Sent: Tuesday, July 31, 2007 10:14 PM
> >>>Subject: RE: [U2] RE: Cleaner Case Statement
> >>>
> >>>
> >>>
> >>>
> >>>>I typically use the full form of each structured statement and lay it
out
> >>>>
> >>>>
> >>>in
> >>>
> >>>
> >>>>the indented format. This is just coding laziness since I hate having
to
> >>>>
> >>>>
> >>>go
> >>>
> >>>
> >>>>back and add that missing branch of an if statement when I am 500
lines
> >>>>of
> >>>>code into it and several indent levels deep.
> >>>>
> >>>>This includes using the default branch of a case - the "old fashioned"
> >>>>
> >>>>
> >>>CASE
> >>>
> >>>
> >>>>1 clause. How I do it differently is in the wording. I like my code to
be
> >>>>self documenting and consistent. Using a variable such as X and a
label
> >>>>
> >>>>
> >>>such
> >>>
> >>>
> >>>>as 100 is definitely a "little dated."
> >>>>
> >>>>I used to, in the old days, create an equate for TRUE and set it to 1
=
> >>>>1.
> >>>>And I would equate OTHERWISE to TRUE. I then have a CASE OTHERWISE,
and I
> >>>>always have a CASE OTHERWISE on every case statement - even if it had
no
> >>>>action. These days, I get lazy and just use CASE @TRUE since it would
be
> >>>>
> >>>>
> >>>an
> >>>
> >>>
> >>>>arrogant assumption of me to assume that 1 is true. At best it is very
> >>>>old
> >>>>school and poor form. But having the CASE @TRUE branch there is my
> >>>>signature; Coding every structured path is my style.
> >>>>
> >>>>On the other hand, while I don't do this a lot, I don't have any
problem
> >>>>with the using the form IF X = 1 ELSE GOSUB 100 type statement. I do
> >>>>think
> >>>>it is dreadfully cryptic. I seriously hate dealing with this kind of
> >>>>code.
> >>>>What is X? What is 100? YIKES! And I like to avoid single use
> >>>>subroutines/GOSUBs when possible - not because they are inherently
bad,
> >>>>
> >>>>
> >>>but
> >>>
> >>>
> >>>>because they are parameterless and if you use it once why complicate
the
> >>>>issue? I usually just put the code inline, but I occasionally don't if
it
> >>>>would improve the self documenting nature of the code.
> >>>>
> >>>>Anyway, if X were a status code say, and we wanted to watch for a
status
> >>>>
> >>>>
> >>>of
> >>>
> >>>
> >>>>1 I might do something like this:
> >>>>
> >>>>ALL_IS_WELL_PROCEED = X = 1 ; * This "X" business is just to match the
> >>>>previous example.
> >>>>...
> >>>>Some code goes here including possibly status code ALL_IS_WELL_PROCEED
> >>>>updates
> >>>>...
> >>>>IF ALL_IS_WELL_PROCEED ELSE GOSUB HANDLE_PROBLEM
> >>>>
> >>>>To me that reads like instructions to bake a cake, and anybody can
"see"
> >>>>
> >>>>
> >>>the
> >>>
> >>>
> >>>>intension. I do not have to have a degree in cryptography to read this
> >>>>regardless of how I set it up. It is 1,000,000 times easier to read
then
> >>>>
> >>>>
> >>>the
> >>>
> >>>
> >>>>suggested alternative IF X#1 THEN GOSUB 100 or IF X=1 ELSE GOSUB 100.
> >>>>Both
> >>>>are equally despicable. Either way the code is so obfuscated it is to
be
> >>>>avoided at all cost!
> >>>>
> >>>>So why argue about how many angels can dance on the head of a pin when
> >>>>you
> >>>>cannot see the mountains in your molehills? It's like, is it better to
> >>>>
> >>>>
> >>>pick
> >>>
> >>>
> >>>>you nose in public with your right hand or your left hand...?
> >>>>
> >>>>So, while I jest about this, I do have an ounce of seriousness about
it.
> >>>>Everybody is so "my way is better..." And it just isn't. I include my
own
> >>>>style  in this. My way is only better if you like it better. Flatter
> >>>>whomever you like. Copy them! And deal with the god awful code that is
> >>>>out
> >>>>there...
> >>>>
> >>>>This thread should be closed.
> >>>>
> >>>>PS: I wonder if I am the horrible guy who coded the nested OPEN
> >>>>
> >>>>
> >>>statements.
> >>>
> >>>
> >>>>I did do that once upon a time, long ago when I was a MADIC
programmer. I
> >>>>was really hard core then. I don't do that anymore, but only because I
am
> >>>>lazy. And I still don't have a problem with it.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>-----Original Message-----
> >>>>From: [EMAIL PROTECTED]
> >>>>[mailto:[EMAIL PROTECTED] On Behalf Of MAJ
Programming
> >>>>Sent: Friday, July 27, 2007 9:09 PM
> >>>>To: u2-users@listserver.u2ug.org
> >>>>Subject: Re: [U2] RE: Cleaner Case Statement
> >>>>
> >>>>I think that CASE 1;Null is an old technique. If the prior conditions
> >>>>
> >>>>
> >>>don't
> >>>
> >>>
> >>>>prevail, then don't bother. Otherwise every IF statement with a THEN
> >>>>would
> >>>>have ELSE NULL.
> >>>>
> >>>>BTW, using IF X = 1 ELSE GOSUB 100 is also very hard to read. Sure it
> >>>>compiles but source code should be readable for the programmers who
have
> >>>>
> >>>>
> >>>to
> >>>
> >>>
> >>>>visually interpet these things. EVERY IF should have an THEN as it's
> >>>>predominately a positive test instead of a negative test. Then use IF
X #
> >>>>
> >>>>
> >>>1
> >>>
> >>>
> >>>>THEN GOSUB 100.
> >>>>
> >>>>
> >>>>----- Original Message -----
> >>>>From: "Allen Egerton" <[EMAIL PROTECTED]>
> >>>>To: <u2-users@listserver.u2ug.org>
> >>>>Sent: Wednesday, July 25, 2007 12:48 PM
> >>>>Subject: [U2] RE: Cleaner Case Statement
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>Bill Brutzman asked:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>How can this structure be cleaned-up?
> >>>>>>
> >>>>>>
> >>>>><snip>
> >>>>>
> >>>>>
> >>>>>
> >>>>>> begin case
> >>>>>>       case Ans = 'A'  ;  gosub Check.A
> >>>>>>       case Ans = 'B'
> >>>>>>       case Ans = '2'  ;  gosub Check.B
> >>>>>> end   case
> >>>>>>
> >>>>>>so that the "gosub Check.B" command is not repeated.  I have tried a
> >>>>>>
> >>>>>>
> >>>few
> >>>
> >>>
> >>>>>>alternatives without a victory.
> >>>>>>
> >>>>>>
> >>>>>Dunno if it's cleaner, but this is how I would code it...
> >>>>>
> >>>>>Begin Case
> >>>>>     Case Ans eq "A"
> >>>>>         gosub Check.A:
> >>>>>     Case ((Ans EQ "B") OR (Ans EQ "2"))
> >>>>>         gosub Check.B:
> >>>>>     Case 1
> >>>>>         *  Do nothing
> >>>>>End Case
> >>>>>
> >>>>>--
> >>>>>Allen Egerton
> >>>>>aegerton at pobox dot com
> >>>>>-------
> >>>>>u2-users mailing list
> >>>>>u2-users@listserver.u2ug.org
> >>>>>To unsubscribe please visit http://listserver.u2ug.org/
> >>>>>
> >>>>>
> >>>>-------
> >>>>u2-users mailing list
> >>>>u2-users@listserver.u2ug.org
> >>>>To unsubscribe please visit http://listserver.u2ug.org/
> >>>>-------
> >>>>u2-users mailing list
> >>>>u2-users@listserver.u2ug.org
> >>>>To unsubscribe please visit http://listserver.u2ug.org/
> >>>>
> >>>>
> >>>-------
> >>>u2-users mailing list
> >>>u2-users@listserver.u2ug.org
> >>>To unsubscribe please visit http://listserver.u2ug.org/
> >>>-------
> >>>u2-users mailing list
> >>>u2-users@listserver.u2ug.org
> >>>To unsubscribe please visit http://listserver.u2ug.org/
> >>>
> >>>
> >>-------
> >>u2-users mailing list
> >>u2-users@listserver.u2ug.org
> >>To unsubscribe please visit http://listserver.u2ug.org/
> >>
> >>
> >-------
> >u2-users mailing list
> >u2-users@listserver.u2ug.org
> >To unsubscribe please visit http://listserver.u2ug.org/
> >
> >
> >
> >
>
> --
> Geoffrey Mitchell
> Programmer/Analyst
> Home Decorator's Collection
> 314-684-1062
> -------
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to