EGL projects, packages, and files

Projects and packages are arbitrary categories you can use to organize your EGL source files. Use them to keep some parts of your application together, and isolate those parts from others. In practice, EGL architects tend to divide an application according to one or more of the following criteria:
  • Business problems to be solved
  • Technology types to be used
  • Development groups who do the coding
  • Archival methods to be used to store the source code and maintain source control
  • Optimum program size
  • Testing strategies
A small application typically consists of a single project. A large enterprise application can include a number of projects, each with several packages underneath. Dividing applications into projects and packages is a highly subjective process that varies from one company to another. Be sure to keep your focus on:
  • what the business problems are
  • who does the development
  • where the programs are written, run, and maintained

As well as being conceptual units, projects and packages also represent specific folders in your EGL workspace. The project is at the highest level, with underlying packages created in the EGLSource folder below it.

Projects differ from packages in one important way. You can use the name of a package as a qualifier to bring a part or variable into your current scope (see Scope). In contrast, you never use the name of a project within an EGL program. For information about importing information from other projects, refer to the EGL Generation Guide.