Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

5.1 Naming Conventions

  1. Home
  2. Embedded C Coding Standard
  3. 5 Data Type Rules
  4. 5.1 Naming Conventions

Rules:

5.1.a. The names of all new data types, including structures, unions, and enumerations, shall consist only of lowercase characters and internal underscores and end with ‘_t’.

5.1.b. All new structures, unions, and enumerations shall be named via a typedef.

5.1.c. The name of all public data types shall be prefixed with their module name and an underscore.

Example:

typedef struct
{
    uint16_t	count;
    uint16_t	max_count;
    uint16_t	_unused;
    uint16_t	control;

} timer_reg_t;

Reasoning: Data type names and variable names are often appropriately similar. For example, a set of timer control registers in a peripheral calls out to be named ‘timer_reg’. To distinguish the structure definition that defines the register layout, it is valuable to create a new type with a distinct name, such as ‘timer_reg_t’. If necessary this same type could then be used to create a shadow copy of the timer registers, say called ‘timer_reg_shadow’.

Enforcement: An automated tool shall scan new or modified source code prior to each build to ensure that the keywords struct, union, and enum are used only within typedef statements or in anonymous declarations. Code reviews shall be used to enforce the naming rules for new types.

Book traversal links for 5.1 Naming Conventions

  • ‹ 5 Data Type Rules
  • Up
  • 5.2 Fixed-Width Integers ›

Request an Expert

(866) 653-6233

Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY