In many programming languages ​​I meet: the prefix of variables or functions - the underscore. What is this for?

For example, here is an excerpt from the vk script:

if (vk.al != 3 || vk.navPrefix != '!') { ___to = ___htest.replace(/^(\/|!)/, ''); 

Or

 int ____MAX, ... 

Why so much? I understand when one set, sometimes conveniently in such cases:

 int x = ...; int _x = ...; 
  • Well, for example, in Python, underscore characters are added to overload operators to indicate the importance of the method. For example, init is a class constructor, add is an overload of binary multiplication of class objects. In your cases, this is just a bad codding tone. - iproger
  • In short, the more underscores, the less the author wants to ever touch it. There is no convention, but languages ​​are often spurred by prohibitions (PHP) and sentences (python) so to do (in fact, only the documentation forbids puffs). - etki
  • 2
    In many languages, the system functions, variables, and constants are designated in this way. Also, often, underscores are used in OOP to denote private methods and class fields, for example: class SomeClass {private: int _x; void _doSomething (); public: int x; void doSomething (); }; - MDJHD
  • In internal regulations it is quite convenient to introduce different notation for syntax, no one forbids it. It is sometimes more convenient to work with such a code if you don’t overdo it)) - Alex Krass

0