Simple Solutions to Complex Problems
  • Simple Solutions
    • Documents Live Once
    • Good JIgs
    • Polya and Friends
  • Long Term Relations
    • Customers & Projects >
      • APU OverView >
        • APU Early Years
        • APU Middle Years
        • APU Late Years
      • AQMD >
        • DataGeneral v Hewlett Packard
      • Big Lots
      • The Federate Group >
        • Stabilizing the System
        • The Cash Register System
        • Later Projects
      • Munson Management Systems
      • National Electronics
      • Richey Electronics
      • Sierra Pacific Investments
      • Other Customers
  • Diagonal Method
    • D2-M2 >
      • Diagonal differs from Agile
      • Maintenance Projects
      • Manufacturing Projects
      • Research Projects
    • Data Structures >
      • Data Levels
      • Data Logging
      • Data Merging
      • Data Input Buffers
      • Data Sorting
      • Data Deltas
    • Readable Source Code >
      • Readable Code Modifications
      • Readable Paradigms
      • Readable Style
    • Critical Path Method >
      • CPM Data Tasks
      • CPM Menu and Security
      • CPM External Tasks
      • CPM: Early Calculations
      • CMP Stem to Stern >
        • Work Units
    • Semi-Interpretive Mindset >
      • Simple Semi-Interpretive Case Study 1
      • Semi-Interpretive Case Study 1 -- Semesters 2 and 3
      • More Thorough and Efficient
      • Software Research Northwest
    • Semi-Interpretive Methods
    • Concepts and Practices >
      • Data Changes
      • Data Stacks
      • Data Tokens and Loose Linking
    • Diagrams & Examples >
      • Venn Diagrams
      • Music Score as a Diagram
      • Cause & Effect Diagrams
    • Dictionary and Lexicon
  • Programmers
    • Tools and Languages >
      • python considerations
      • program names, like sa5comm
    • Perspectives of a Manager
    • ToDo
    • HTML testing
    • Private Thoughts
    • Leads
  • Contact Pilgrim
    • Land of the Free
    • Pilgrim Legal Status
    • Index to Pages
  • New Page
  • Stonehenge Simply Done

program names and library names

If you are not a programmer or if you never have run a super-efficient shop, then read and learn.  If you have had good success as a programmer than read and consider how this tactic might improve your shop.

The naming convention concentrates on the primary functionality of the program.  Since source code scanners have become so powerful and so fast, some managers have become lax concerning names of programs.  Nonetheless, good names have merit.  This paradigm combines paradigms from several shops; for reasons of management and comaraderie, different shops varied.

The paradigm: XX#YYYYz where:
XX denotes the module
#  denotes the major function:
    0 means initialization
    1 means primary data entry
    2 means inquiry
    3 means managerial data entry: parameters, passwords, new definitions
    4 means report generation
    5 means processor
    6 means job launch or communicator
    7 means end of period, like end of month or end of year
    8 means integrity or verification
    9 means miscellaneous
YYYY denotes a mnemonic to remind the staff about what the program does
z    denotes a previous version, blank for current versions of programs

At APU, the APU LOOK program had the name AP2LK for its main segment.  The other thirty some segments had names like AP2LKRM, which specific segment looked at Rooms.  At NCC, the main sales order program SO1EN did sales order entry, which usually occurred after significant inquiry into inventory, sales history, customer credit, and many other concepts.

library names
For some years, starting at Munson Management, I used a large library of functions whose common prefix was Z9, such as Z9DATE or Z9FMT.  The commercial version was "Foundations in C for Business Programmers" first published in 1996. That package supported programs on the Z80, the HP MPE, the HP UX, and WIndows 95.  The general foundations were an IMAGE 3000 database look-alike, a DBase clone, screen functions, date functions, numerical functions including very long integers for monetary and scientific calculation, formatting functions, a report skeleton, several callable sorting routines, and some simple modem management.

When the projects required COBOL, the prefix became W9, which is not a valid data descriptor like Z9.

List of common library functions goes here xxxx

newer alternatives
With the current awesome power of scanners, having such specific names for programs and library functions might not seem necessary, but the need for discipline still exists.  If the programmer does not care about the name of the programs, then that person does not care.  Those who do care should pursue their objectives.  Good naming conventions support highly readable, well designed software that allows efficient maintenance.

In the same mindset, good efficiencies come from having a data table that contains data about programs.  What are the current general capabilities of the program.  A second table contains login info and authorizations.  A third table contains concurrency restrictions.  Somewhere tables to list all login info, logout info, duration info, and crashes.

PCC 1982 - 2014