|
If they qre anything like mine when I worked at Mattel they are expecting.....LOTS!!!!!! On 2/28/06, Holden Tommy <Tommy.Holden@xxxxxxxxxxxxxxxxx> wrote: > > Geez & you work at TOYS 'Я' US International??? Kids expect toys a > lot??? > > > Thanks, > Tommy Holden > > > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] > On Behalf Of Weber, Richard > Sent: Tuesday, February 28, 2006 2:20 PM > To: 'RPG programming on the AS400 / iSeries' > Subject: RE: worst RPG ever seen? > > I'm married and have kids! Sanity? What's that? ;-) > > Rick Weber | TOYS 'Я' US International > > > -----Original Message----- > From: rick baird [mailto:rick.baird@xxxxxxxxx] > Sent: Tuesday, February 28, 2006 3:10 PM > To: RPG programming on the AS400 / iSeries > Subject: Re: worst RPG ever seen? > > Yes, but which is more important? job security or sanity? > > On 2/28/06, Weber, Richard <Weberr@xxxxxxxxxxx> wrote: > > ...And you've got job security! See, it worked! > > > > Rick Weber | TOYS 'Я' US International > > > > > > -----Original Message----- > > From: rick baird [mailto:rick.baird@xxxxxxxxx] > > Sent: Tuesday, February 28, 2006 2:36 PM > > To: RPG programming on the AS400 / iSeries > > Subject: Re: worst RPG ever seen? > > > > I recently had the distinct displeasure of working on a program that > > was written by a guy I worked with about 16 years ago. luckily, I > > never had to directly work with the guy on a project back then, as his > > reputation preceded him and I refused. > > > > He moved on and sub-contracted at the company I'm working for now. > > > > This program was a bloody mess. > > > > 22K lines of code. It was an order detail mass maintenance - allowing > > change of multiple lines on multiple orders, based on selection > > criteria. It updated the order relationships between about 20 > > different files. > > > > Their were 8 screens, all of them nearly exactly identical except for > > one or two fields out of a hundred or so on each screen - but the > > fields were all named differently. The subroutines to process these > > screens were likewise nearly identical, except for about 1% of the > > lines of code, and of course the different field names. > > > > each screen had about 20 subroutines that were used to process them, > > and they were named sequentially: SUB1#A, SUB1#B, SUB1#C.... SUB2#A, > > SUB2#B, SUB2#C.... ect. > > > > he didn't use indicators, but what he did was worse - he used > > attribute byte fields that he also named sequentially - fa1#01, > > fa2#01, fa3#03... etc. > > > > That was not the worst of it. for each of the 8 screens, he had 6 > > different data structures with hard coded beginning and ending > > positions, so that he could pass the data back and forth between the > > data structures easily - a nice technique if done right, this wasn't. > > > > typically, a single "setoff" and 3 or 4 "verify" subroutine would be > > called at least 10 times for each <enter> pressed. Sometimes the > > verify subroutines would work with the screen fields, sometimes they'd > > work with the datastructure fields. sometimes both at once, sometimes > > several different DSs at once. > > > > to make matters worse, it always dropped clear out of a subroutine and > > reentered another subroutine based on the value of a variable that he > > would increment like so: > > > > sub# caseq 1 sub1#A > > sub# caseq 2 sub1#B > > sub# caseq 3 sub1#C > > sub# caseq 4 sub1#D > > ... > > ... > > begsr > > ... > > add 6 sub# > > endsr > > > > For days, I would step through this thing in debug mode, never really > > knowing where I was, and for what purpose. In 23 years, I've never > > been as frustrated from working on a program than I was this time. I > > was very close to giving up - actually stating to the customer that, > > no, I refuse to work with this thing any longer. > > > > after about 3 weeks of screwing around with this abomination, I > > suddenly had an epiphany about the rhyme and reason for a couple of > > the more damnable parts of his code, and was able to make the > > necessary changes and get rid of it. > > > > Several people have told me that this guy admitted to purposefully > > making his programs as difficult to read as possible, even throwing in > > every trick he could think of to obfuscate the actual intentions of > > the code. > > > > The reason? Job security. yes. Those people do exist. > > > > I wished I had actually worked with this dud back in the day, because > > I would have surely strangled him. If a programmer was on the jury, > > I'd be aquitted - if not, no jury in the land would have given me > > worse than manslaughter, and by now I would have been out of jail, and > > would never have seen this program. > > > > Now, i'm the order detail mass maintenance expert here, so if they > > need more changes, I'll be the guy. I can't wait. > > > > Rick > > > > -- > > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing > list > > To post a message email: RPG400-L@xxxxxxxxxxxx > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > > or email: RPG400-L-request@xxxxxxxxxxxx > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > > ======================================================================== > > This email message is for the sole use of the intended recipient (s) and > may > > contain confidential and privileged information. Any unauthorized > review, > > use, disclosure or distribution is prohibited. If you are not the > intended > > recipient, please contact the sender by reply email and destroy all > copies > > of the original message. To reply to our email administrator directly, > send > > an email to EmailAdmin@xxxxxxxxxxxx > > Toys "R" Us, Inc. > > > > -- > > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing > list > > To post a message email: RPG400-L@xxxxxxxxxxxx > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > > or email: RPG400-L-request@xxxxxxxxxxxx > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > > > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > ======================================================================== > This email message is for the sole use of the intended recipient (s) and > may > contain confidential and privileged information. Any unauthorized review, > use, disclosure or distribution is prohibited. If you are not the intended > recipient, please contact the sender by reply email and destroy all copies > of the original message. To reply to our email administrator directly, > send > an email to EmailAdmin@xxxxxxxxxxxx > Toys "R" Us, Inc. > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.