First Programming Job and I Want to Kill People :)

Denaes

Senior Contributor
Joined
Jun 10, 2003
Messages
956
At work they do a large project in Progress, which is a large Database application (comparable to Oracle and SQL Server) with a comprehensive programming language attached.

They took me in as a VB6/VB.net programmer and for the last two days I've been learning Progress.

Progress itself is very easy. The IDE could be nicer, but the language isn't hard at all. 2 days in and I'd say I could do 70% of a business application off the top of my head or looking up syntax.

Progress also allows "Include" files and my new company uses them extensively. This is a bit of a problem.

Progress uses Includes like PHP does, basically where the line of code is pointing to the file, on runtime the contents of that file are dumped onto the virtual page of source code.

Now that doesn't sound bad, does it?

Well you can nest Includes... one include might have 0 or more... I've seen up to 5 includes within an include. I looked at one of those includes and they also had an include more than one more include...

You can see where this is going.

Actually I could see a bunch of includes working rather well if they were documented properly... or at all.

You see, when I mentioned documentation standards with the manager he kinda got nervious and mumbled something like "we have a basic block of information at the head of each file and then comments throughout the code"

Now there is a header on everything. Sometimes it's filled out with the procedure name! :D For the most part, it's not. No programmer name, no updates, no description. I assume the date is automatically inserted because it's there on all the procedures.

So within the code, there might be a line of description saying something inane like "Report formatting variables" then continuations to the gibberish.

Coding standards of any sort arn't followed and you can't start following them because often standard declarations are within an Include file :D if you change the Include file, you'll break dozens to hundreds of procedures.

So the variables are a combination of what is within the Includes and what the programmer chooses. Many names are equally inane like "v-bal, v-tot & g-tot". These three variables were all decimal values and three levels of totals for a report. g-tot is Grand Total. I have no clue what v in the other two stand for.

These type of variable names are the norm, they make a little bit of sense if you know exactly what the subject is and what the thought process of the programmer was. Pretty easy for simple straight forward projects.

When you're working on a report dealing with two different kinds of accounting and printing out matrixes to a form, then using MOD to determine if the printout will flow over to another page to the right - and printing out multiple of these matrices in a run - it's not straight forward in the least.

I actually got excited when I saw a comment group in the middle of the (500 line) file, but it was just a block of code commented out and never deleted.

I'm not quite sure *why* there is one array declared with a length of 20 in there...

Happy happy fun.

But it's my first real programming job where I'm on salary. I should be able to get some good experience out of this. And they were mentioning that they might have some VB.Net applications over the summer :D
 
Three things worth mentioning here:

Firstly: bet your glad you took a job in development ;). Not to put you off too much but in most places that kind of 'standard' is typical.
Secondly: It either could be worse or a source of material - www.thedailywtf.com
Thirdly: On the subjects of un-commented code I remember my brother once mentioning in an Informix application he once worked on he found about 7 or 8 functions to handle number rounding - due to the total lack of documentation, coments and senesible naming schemes he ended up adding another 2 routines of his own... (I'm sure somebody from the same genetic stock as me would have made sure those ones were commented etc ;))
 
Last edited:
Back
Top