Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 000 News

FAQ

Search

Home


AIPS++ QAG


The AIPS++ Quality Assurance Group has been instituted to:

  • Ensure a tested C++ class environment
  • Ensure a unified coding style and structure
  • Test applications that are part of the AIPS++ user package
  • The QAG can be reached by email. The main interaction with the QAG is by AIPS++ programmers. In the following the main rules for AIPS++ code adhering rules are given. The links indicated are in most cases only valid if you are working in development environment.

    Code copping

    Code to be included in the standard AIPS++ code and application library has to be code copped before it will be included. Code that is meant for one of the consortium packages will, in general, not beed to be copped, although it is expected to follow the standard rules for style, provision of help, and overall directory structure. It will not hurt if consortium code is sent to the code-cop as well, to have it checked for obvious divergence from the rules. A programmer is expected to announce to the code-cop the availability of a new piece of code (be it a C++ class or program, a module or program in another language, or a Glish or other script. A reviewer of the code will be found.

    Coding rules

    The coding and code review rules can be found in:
  • The Standards and Guidelines note for C++ programmers
  • The C++ review guidelines template
  • The Glish review guidelines
  • The GUI guidelines
  • Templates are do-it-yourself. Template definitions are all contained in template files. The rules can be found in a note. Some more information is available in the System manual (look for reident, duplicates, used, unused in the code development part, for template instantiation in the System generation part and for templates in the index.
  • Source-File Templates
  • For most of the AIPS++ programming elements templates exists. It is strongly recommended to always use a template as the base for your efforts. Templates exist for:
  • C++ header files
  • C++ class definition files
  • C++ module headers
  • C++ global functions header file
  • C definition file (header as per C++ header)
  • C++ main program
  • Fortran subroutine
  • Module help for application
  • Object help for application
  • Function help for application
  • Glish object script code (not fully up-to-date)
  • C++ review guidelines
  • Glish review guidelines
  • Details on the writing of applications (solely in Glish or with Distributed Objects) are in Note 197.
  • The details on the user help system are in Note 215.
  • Some effort is made through the copping process, and by some effort by the rules boss, to enforce the rules. However, they will only work with the help of the programmers. Do not hesitate to ask clarification from the QAG or the current rules boss. Changes to the rules are initiated by making a formal change-proposal.

    Testing

    Test programs for C++ programs and applications (mostly Glish scripts), are regularly run on a variety of platforms (at least weekly on SUN-Solaris with the GNU gcc or ecgs compiler. Providing test programs for your application is one of the main ways to ensure an as bug-free as possible AIPS++ environment. Questions about the test procedures or about special requirements for your code can be directed to the QAG or the current chief tester.

    Last modified: 5-Sep-2001--08:51