Coding standards: Sample header for source code files

The header has the following sections:

  1. GNU License statement.
  2. program|subroutine|function|module|... statement, possibly followed by a comment line indicating the intent (i|o|io) of variables in the parameter list
  3. Short description of the function of this progamme unit, original author (full name) and date
  4. List of changes with name or acronym, date, content
  5. List of (important) variables, including pertinent information such as unit of physical quantities, permitted values, definitions and explanations (if possible in one line per variable

The details of layout and syntax can be taken from the example below.
Further notes:

  • The first line of the License statement shall look like this
     ! Copyright 1998-20XX
    where 20XX is to be replaced by the year of the last edit. Wherever you still find a list of single years, please replace it.

Note: GPL web site says this is only permissible if there was a version each year. But there are many revisions where this line wasn!'t touched - so we have to find a way.

  • Decorations: Originally all header comment was framed by *, 80 chars wides. This had to be changed moving to free format. As it is cumbersome to make a justified r.h.s. line of *, this is not required, but please avoid a ragged line of * (simply leave it open).

GNU License statement

(without authors, nicer decoration)

!* Copyright 1998-2015                                                 *
!* by the FLEXPART developers. See the COPYRIGHT file in the source    *
!* code directory of this distribution or at <>     *
!*                                                                     *
!* This file is part of FLEXPART.                                      *
!*                                                                     *
!* FLEXPART is free software: you can redistribute it and/or modify    *
!* it under the terms of the GNU General Public License as published by*
!* the Free Software Foundation, either version 3 of the License, or   *
!* (at your option) any later version.                                 *
!*                                                                     *
!* FLEXPART is distributed in the hope that it will be useful,         *
!* but WITHOUT ANY WARRANTY; without even the implied warranty of      *
!* GNU General Public License for more details.                        *
!*                                                                     *
!* You should have received a copy of the GNU General Public License   *
!* along with FLEXPART.  If not, see <>.   *
Last modified 9 years ago Last modified on May 28, 2015, 7:37:31 PM
hosted by ZAMG