Embora aqui me refira especificamente às convenções de nomenclatura de C ++ e Bjarne Stroustrup , em princípio, vi que as pessoas usam regras um pouco semelhantes para outras linguagens aqui e ali.
Portanto, a idéia básica é que seja possível distinguir tipos padrão de tipos definidos pelo usuário enquanto lê o código. Por exemplo, Bjarne Stroustrup sugere que se use
uma letra maiúscula inicial para tipos (por exemplo, Quadrado e Gráfico)
que, tendo em conta que
A linguagem C ++ e a biblioteca padrão não usam letras maiúsculas
permite atingir o objetivo mencionado acima.
Mas por que precisamos fazer isso? Qual pode ser o objetivo de distinguir tipos padrão e definidos pelo usuário?
Não consegui encontrar nenhum raciocínio de Bjarne Stroustrup sobre esse assunto e, além disso, penso eu de maneira diametralmente oposta. : Eu sei, eu sei: "Quem sou eu para disputar a Stroustrup?" Mas ouça, vários recursos da linguagem C ++, por exemplo, sobrecarga do operador, servem ao propósito de permitir que tipos definidos pelo usuário tenham um nível semelhante de suporte sintático aos tipos padrão. E então tudo isso é confundido por uma disciplina de nomeação diferente ...
PS Sem mencionar que muitas vezes uma palavra não é suficiente para nomear uma classe e uma palavra separada por sublinhado que começa com uma letra maiúscula parece tão estranha.