This document, the VAX-11 Software Engineering Manual (Revision 3, February 1977), outlines programming conventions and software engineering practices for Digital Equipment Corporation's VAX-11 environment, primarily for its Central Engineering Group.
Designed as a "programmer's helper," its core purpose is to standardize technical, procedural, administrative, and conceptual guidelines. The manual aims to foster the development of high-quality, maintainable, and consistent software products by promoting code uniformity, readability, ease of modification, and reduced field support costs.
Key areas covered include:
- Methodological Policies: Emphasizing principles like modularity, code sharing, and transportability across different architectures, with BLISS being the default language choice for system programs where feasible.
- Program Structure: Detailed guidelines for organizing code into modules, including standard module and routine prefaces, and templates for starting new projects.
- Coding Standards: Comprehensive, language-independent commenting conventions, along with specific formatting and usage rules for VAX-11 Assembler and BLISS (with sections noted for future BASIC, COBOL, and FORTRAN guidelines).
- Naming Conventions: Standardized rules for public symbols, object data types, and facility prefixes.
- Functional and Interface Specifications: Details on the VAX-11 Procedure Library, including a language-independent notation for specifying procedure parameters and argument passing mechanisms.
- BLISS Transportability Guidelines: An extensive section providing strategies and tools for writing portable BLISS programs, addressing challenges related to machine-specific data allocation, literals, macros, and structure definitions across different VAX-11, 10/20, and 11 architectures.
- Diagnostic Conventions: Guidelines for producing consistent diagnostic software.
The manual emphasizes voluntary adoption of these conventions and includes revision history for its various sections.