User Tools

Site Tools


coastalme_coding_standards

CoastalME Coding Standards

These standards should be followed by all CoastalME developers.

Classes

Names

Class in CoastalME begin with C and are formed using CamelCase.

Examples:

Members

Class member names begin with a lower case “m_” followed by variable name using Hungarian notation. A variable name starts with a group of lower-case letters which are mnemonics for the type that variable, followed by whatever name the programmer has chosen; this last part is sometimes distinguished as the given name. The first character of the given name should be capitalized to separate it from the type indicators.

Examples:

  • m_bBasementElevSave: boolean “b”
  • m_nXGridMax: integer “n”
  • m_GDALWriteIntDataType: GDAL data type “GDAL”
  • m_lGDALMinCanWrite: long “l”
  • m_ulNumCells: unsigned long “l”
  • m_dCellSide: double “d”
  • m_ldGTotPotentialPlatformErosion: long double “ld”
  • m_strCMEDir: string “str”
  • m_tSysStartTime: time_t “t”
  • m_VbConsChangedThisIter: vector boolean “Vb”
  • m_VnProfileToSave: vector integer “Vn”
  • m_VdSliceElev: vector double “Vd”
  • m_VstrInitialFineUnconsSedimentFile: vector string “Vstr”
  • m_VPoints: vector of C2DPoint “VPoints”
  • m_LCoastline: a variable of CLine “L”

Pointers are denoted by a lowercase “p” before the variable type:

  • m_pRasterGrid: a pointer of a RasterGrid object
  • m_pVCoastPolygon: a pointer to a Vector of CoastPolygons
  • pSim: a pointer to a CSimulation
  • pPtVGetPoints: a pointer to a C2DPoint

An exception to this rule are ofstream type variables being the format of ofstream: VariableNAmeStream

Examples of ofstream variables:

  • SedLoadTSStream
  • StillWaterLevelTSStream
  • ErosionTSStream
  • DepositionTSStream
  • SedLostTSStream

Class members can be public or private.

Accessor Functions

Class member values should be obtained through accesssor functions. The function should be named with an indicative prefix (i.e. Set, Get,…). Examples of accessor functions for the private member variable m_dBasementElevation would be:

  • dGetBasementElev(): function with a double return code
  • SetBasementElev(double const): function to set a double member variable

Functions

Function names begin with a lowercase letter and are formed using mixed case. The function name should convey something about the purpose of the function.

  • bWriteProfileData()
  • nDoAllWaveEnergyToCoastLandforms()
coastalme_coding_standards.txt · Last modified: 2016/10/23 14:41 by coastalmeadmin