Published September 1, 2009 | Version v1
Report

C++ Coding Standards for the AMP Project

  • 1. Oak Ridge National Laboratory, TN (United States)

Description

This document provides an initial starting point to define the C++ coding standards used by the AMP nuclear fuel performance integrated code project and a part of AMP's software development process. This document draws from the experiences, and documentation (1), of the developers of the Marmot Project at Los Alamos National Laboratory. Much of the software in AMP will be written in C++. The power of C++ can be abused easily, resulting in code that is difficult to understand and maintain. This document gives the practices that should be followed on the AMP project for all new code that is written. The intent is not to be onerous but to ensure that the code can be readily understood by the entire code team and serve as a basis for collectively defining a set of coding standards for use in future development efforts. At the end of the AMP development in fiscal year (FY) 2010, all developers will have experience with the benefits, restrictions, and limitations of the standards described and will collectively define a set of standards for future software development. External libraries that AMP uses do not have to meet these requirements, although we encourage external developers to follow these practices. For any code of which AMP takes ownership, the project will decide on any changes on a case-by-case basis. The practices that we are using in the AMP project have been in use in the Denovo project (2) for several years. The practices build on those given in References (3-5); the practices given in these references should also be followed. Some of the practices given in this document can also be found in (6).

Availability note (English)

Available from http://info.ornl.gov/sites/publications/files/Pub21512.pdf; PURL: https://www.osti.gov/servlets/purl/970915-ChebHR/

Additional details

Publishing Information

Imprint Pagination
19 p.
Report number
ORNL/TM--2009/240

INIS

Country of Publication
United States
Country of Input or Organization
United States
INIS RN
41049755
Subject category
S22: GENERAL STUDIES OF NUCLEAR REACTORS; S11: NUCLEAR FUEL CYCLE AND FUEL MATERIALS; S97: MATHEMATICAL METHODS AND COMPUTING;
Resource subtype / Literary indicator
Non-conventional Literature
Descriptors DEI
COMPUTER CODES; DOCUMENTATION; LANL; NUCLEAR FUELS; OWNERSHIP; PERFORMANCE; PROGRAMMING; PROGRAMMING LANGUAGES
Descriptors DEC
ENERGY SOURCES; FUELS; MATERIALS; NATIONAL ORGANIZATIONS; REACTOR MATERIALS; US DOE; US ORGANIZATIONS

Optional Information

Contract/Grant/Project number
AF5830010; NEAF300; AC05-00OR22725
Notes
doi 10.2172/970915
Funding organization
NE USDOE - Office of Nuclear Energy (United States)