Cuidado, _ já tem um significado intrínseco em alguns idiomas
Em Python:
9.6. Private Variables and Class-local References
enter link description here“Private” instance variables that cannot be accessed except from inside an object don’t exist in Python. However, there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API (whether it is a function, a method or a data member). It should be considered an implementation detail and subject to change without notice.
Há também outra menção no PEP 8 (Guia de Estilo para o Código Python):
Descriptive: Naming Styles
_single_leading_underscore: weak "internal use" indicator. E.g. from M import * does not import objects whose name starts with an underscore.
Em C #:
Geralmente é usado para marcar variáveis privadas que possuem propriedades públicas / internas. Mas a prática é geralmente menosprezada nos dias de hoje .
Em JavaScript:
Há uma biblioteca chamada underscore.js que usa o sublinhado como um prefixo para extensões de protótipo não padrão.
Exemplo:
var object = { some:'stuff' };
var newObject = _.clone(object);
O que me leva ao meu ponto. O que há de errado com as convenções de variável de espaço reservado clássicas.
var i, j, k, l; // iterator placeholders
var x, y, z, xx, yy, zz // value placeholders
var foo, bar, bas, fixx, buzz, qux, etc... // demonstration placeholders
Por que usar uma convenção personalizada que alguns podem interpretar erroneamente quando já existem muitas convenções comuns disponíveis?