_Underscores in Function Names

Alan Storm picture Alan Storm · Apr 24, 2009 · Viewed 29.1k times · Source

In a lot of languages with simple OO capability (PHP 4), or misunderstood OO capabilities (Javascript, C using function pointers, etc.), you'll end up with a function naming convention that uses leading underscores to to indicate privilege level.

//ex.
function _myPrivateFunction(){
}   

While individual teams are always going to come up with their own naming conventions like this, the underscore convention seems so prevalent that it made me curious about

  1. Where the technique first came from
  2. If there was ever any standardized systems (sort of like hungarian notation) developed around the convention

Beyond pure curiosity, I'm seeing this in a few codebases I'm dealing with right now, and I'd like to understand the possible headspaces of the developers who originally came up with it.

Answer

mentat picture mentat · Apr 24, 2009

In C++ world, member names that start with underscore are reserved for use by compiler (or low level STL like API) developers. It's not prohibited by compilers in any way, but that's the tradition.

This wiki link is quite informative on underscore.