Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

_Underscores in Function Names

Tags:

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.

like image 284
Alan Storm Avatar asked Apr 23 '09 22:04

Alan Storm


People also ask

What is __ In Python function?

The Python interpreter modifies the variable name with ___. So Multiple times It uses as a Private member because another class can not access that variable directly. The main purpose for __ is to use variable /method in class only If you want to use it outside of the class you can make it public.

How should functions be named?

Naming Convention for Functions So, similar to variables, the camel case approach is the recommended way to declare function names. In addition to that, you should use descriptive nouns and verbs as prefixes. For example, if we declare a function to retrieve a name, the function name should be getName.

Can we use in function name?

Since short function names are hard to get right, it's OK to add “AND” in the function name.


1 Answers

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.

like image 180
mentat Avatar answered Oct 11 '22 10:10

mentat