C++ Coding Standard

Overview

 

The general requirements in this document and its appendices are intended to help the projects prepare a C++ computer program source code that is readable, understandable, and easily maintained.  Any restrictions, rules, recommendations, and clarifications shall also be defined.  All approved deviations from these standards will be documented in the specific project Software Development Plan at the first occurrence explaining why these software-coding standards are not being followed.  Any subsets of the high order language (HOL) required for safety or security reasons shall be defined in the project specific safety or security programme plans.

 

ISO/IEC 12207/MIL-STD-498 provides requirements to develop and apply standards for representing software code.  The project developers Software Development Plan (SDP) shall contain references to this C++ software coding standard.  This software coding standard shall include standards for: format, header comments, naming conventions and any restrictions or clarifications on the use of the selected HOL programming language constructs or features, such as renaming, goto's, etc.

 

Safety or security critical software may require additional specific subset of the coding standards (e.g., a safe subset) to be developed that identify requirements for annotation of safety/security -critical code and limitation on use of certain language features that can reduce the risk of software to safety or security hazards.  The software safety activities shall be defined in the "System/Software Safety Process" document -- a technical overview of safety-critical strategy and coding practices for developers and safety engineers, primarily those involving restricting the use of certain programming language constructs.  The software security-critical activities shall be defined in the "Software security Management Process".

 

The document has been modified using other referenced C++ coding standards to suit the projects and the scope extended.

Any safety subset will be related to this document and shall be identified or defined in the project specific Software Development Plan (SDP) or Software Safety Programme Plan (SSPP).

 

This document has been prepared using the document originally produced by Mats Henricson and Erik Nyquist of the Ellemtel Telecommunications Systems Laboratories identified as follows:   ("Programming in C++, Rules and Recommendations  Copyright (C) 1990-1992 by Ellemtel Telecommunications Systems Laboratories").  However, Permission is granted to any individual or institution to use, copy, modify, and distribute this document, provided that this complete copyright and permission notice is maintained intact in all copies.

 

SMG will maintain this document.  Users of this document may report deficiencies and or corrections using the format provided by the attached Document Change Request (DCR) form. SMG shall configuration manage this data as part of the process improvements initiative.

 

 




Back to Home page MANAGING STANDARDS Home page

Please send any beneficial comments or identification of errors using the following form to: kenr@wysywig.airtime.co.uk

Copyright © Ken Rigby  2003, 2004