element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Code Exchange
  • Technologies
  • More
Code Exchange
Blog sensible C++ coding convention - µOS naming standard
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 1 Sep 2024 6:35 PM Date Created
  • Views 914 views
  • Likes 4 likes
  • Comments 7 comments
  • c++23
  • teseo_c++
Related
Recommended

sensible C++ coding convention - µOS naming standard

Jan Cumps
Jan Cumps
1 Sep 2024

When writing reusable code, I like to be consistent and use standards. For C++, there are many flavours out there.

I've been looking around for guidance on writing modern C++ code, with templates. That's when I bumped into the µOS naming standards. µOS is a C++ RTOS, maintained by Liviu Ionescu. He 's been very active on this community for a long time, when this forum was used to support the Eclipse Embedded CDT plugin.

He managed to compile a reasonable naming convention set. Pragmatic, not pedantic.
A number of naming proposals try to cover all, or are detailed. I like a standard that handles the conceptual level. To my taste, the µOS standard has a good balance.
It's more brief than many other options out there, but I haven't found a miss. And I like how my code "sounds" when applying the principles.

When writing code, check it out. I've recently designed a C++ library, that (I hope) adheres to that standard. It helps me to stay consistent, and I hope it helps the user to understand my library's API.

that's all :)

Link to related posts.

  • Sign in to reply

Top Comments

  • DAB
    DAB over 1 year ago +1
    Thanks Jan. Naming conventions are always a good way to start a fight among software engineers. While most people don't care, they just want to get the code done, you always run into a few fanatics…
  • battlecoder
    battlecoder over 1 year ago +1
    Naming conventions are definitely a fighting ground for a lot of people. I personally think that any naming convention you want to follow is fine, as long as the code doesn't look like you put the ascii…
Parents
  • DAB
    DAB over 1 year ago

    Thanks Jan.

    Naming conventions are always a good way to start a fight among software engineers. 

    While most people don't care, they just want to get the code done, you always run into a few fanatics who have their favorite and refuse to conform.

    If you are just writing code for yourself you can do what you want, but as soon as you work with a team, you need everyone on board or chaos ensues.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • DAB
    DAB over 1 year ago

    Thanks Jan.

    Naming conventions are always a good way to start a fight among software engineers. 

    While most people don't care, they just want to get the code done, you always run into a few fanatics who have their favorite and refuse to conform.

    If you are just writing code for yourself you can do what you want, but as soon as you work with a team, you need everyone on board or chaos ensues.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • Jan Cumps
    Jan Cumps over 1 year ago in reply to DAB

    I found that in my latest project, when I wrote some core code and two separate support libraries, the style lacked consistency. I used some C++ constructs that are new to me.

    The standard that I'm referring to, is very similar to the standard C++ libraries style (author: what the ISO standard libraries use, and to what existing coding styles [like MISRA, JSF] recommend). Maybe a bit simpler and more pragmatic. Sized for user code.

    Not all of it is what I prefer. But it is reasonable. That's why I selected this.

    In the past, I used the standards proposed by the Industrial Strength C++ book, but that hasn't had an update since early C++ (1997).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube