Tony Goldstein - Multi-User Development Techniques

by Mike Hanson

Published 1997-09-01    Printer-friendly version

Tony Goldstein's presentation on "Multi-user Development" was informative for any person who works with other programmers on the same project, and also for those creating any multi-APP system. Although most people would already know a few of his tips and tricks, I think everyone walked away with at least a few new development techniques.

The primary factor in team development (and all large development, for that matter), is intelligent placement of procedures into multiple APPs. Each of these will be compiled into either EXEs or support DLLs. There are a number of different strategies that you can use:

  • Functionality - Each APP will contain procedures that perform a particular function. A good example of this is "Accounting Reports".
  • Responsibility - Depending on which programmers are responsible for what, you could organize the APPs to avoid the possibility of two programmers needing the same APP at the same time.
  • Dependency - This is a little stranger to fathom. If you can reduce the inter-APP dependencies by moving procedures from one APP to another, you will prevent the need for multi-APP recompiles.

Once the strategy is decided, the team should create a skeleton APP that contains as many To-do procedures as can be planned. This will leave them with a "fill in the blanks" series of APPs that can be compiled without unresolved references. Occasionally the team should get down and do this again, to add more placeholders for upcoming procedures.

When a developer is going to work on an APP, he moves the file from the main SOURCE directory to the CHECKOUT directory, then copies this file to his own WORK directory. If someone else wanted to work with it, they would look in the SOURCE directory, and discover that someone else had already checked it out. Once the original developer had finished changing and recompiling the APP, he would copy it back to the SOURCE directory, and place the DLL or EXE into the common BIN directory. Finally, the developer would let the others know that something had changed.

Tony described several extensions that can be used to make multi-APP development easier. The first, named "SaveCalls", is used to general a module include file for an APP anytime it is generated. This file would be specified as the include file when the particular APP was referenced as an external APP in another APP. This is much easier than manually typing the prototype each time it is needed, or even manually maintaining the include file yourself.

The second template is used in your base global data APP. It generates another template with many #GLOBALDATA entries. This generated template is used in all of the other APPs in the project to ensure that the global data is consistent from one APP to the next. This is a very cool trick.

He also stressed that you should regularly archive and checkpoint your DCT and APPs. Also, don't forget to document and date your changes. Above all, communication between team members is paramount. This includes tracking all known bugs and feature requests. With a large project, it is easy to let items fall through the cracks.

Overall, his presentation was informative and helpful. I think everyone who attended will be able to apply at least one of his suggestions. At the very least, we have a better understanding of multi-programmer and multi-APP development.

Printer-friendly version

 
 

Search

 

Advanced Search
Topical Index

Related Articles

Subscribe to
ClarionMag

One year: $189

(includes all back issues since '99)

Renewals from $139

Two years: $289

Renewals from $239

More Info

Subscribe Now!

ClarionMag Blog

RSS Feeds

Updates via Email

Enter your Email


Powered by FeedBlitz

Quick Links