NRL Radar Division C++ Coding Standard

Abstract

A C++ coding standard is defined that should be adhered to when writing C++ code. It is primarily addressed to all those involved in the production of C++ code for Naval Research Laboratory (NRL) Radar Division software projects such as the Office of Naval Research (ONR) Integrated Topside (InTop) Innovative Naval Prototype (INP) Flexible Distributed Array Radar (FlexDAR) backend software. It was originally derived from the CERN C++ Coding Standard Specification, Version 1.1, dated 5 January 2000, but has been significantly modified and updated. It also draws on other sources and includes many local modifications for NRL Radar Division applications. The coding standard provides tools aimed at helping C++ programmers develop programs that are free of common types of errors, maintainable by different programmers, portable to other operating systems, easy to read and understand, and have a consistent style. Questions of design, such as how to design a class or a class hierarchy, are beyond the scope of this standard. It assumes the code is to be handwritten and not generated; otherwise, a different coding standard would be needed for the input to the code generator. This coding standard is not intended in any way as a substitute for the study of a book on C++ programming.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 05, 2016
Accession Number
ADA640901

Entities

People

  • James B. Evins

Organizations

  • United States Naval Research Laboratory

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Compilers
  • Computer Programming
  • Computer Programs
  • Control Systems
  • Conversion
  • Destructors
  • Directives
  • Flow
  • Language
  • Life Cycles
  • Military Research
  • Object Oriented Programming
  • Operating Systems
  • Programming Languages
  • Radar
  • Specifications
  • Standards

Fields of Study

  • Engineering

Readers

  • Computer Programming and Software Development.
  • Database Systems and Applications
  • Systems Analysis and Design