Eu sei sobre regras de casos de camelo, mas estou confuso com esta regra. O que significa? Sou desenvolvedor de PHP. "Nós" usamos as primeiras letras das variáveis como indicação do tipo, como 'b' para booleano, 'i' para inteiro e assim por diante.
Sou uma coisa de Java? Significa móvel? misturado?
android
coding-style
pambuk
fonte
fonte
Respostas:
Esta notação vem das Diretrizes de estilo de código AOSP (Android Open Source Project) para colaboradores :
Observe que o guia de estilo vinculado é para que o código seja contribuído para o Projeto de código aberto do Android.
Não é um guia de estilo para o código de aplicativos Android individuais.
fonte
computedValues
..."Muitas linhas-guia de codificação usam m para 'membros' de uma classe. Então, quando você está programando, pode ver a diferença entre variáveis locais e membros.
fonte
m
prefixo.O que é mprefixo?
msignifica variável de membro ou membro de dados. Use o mprefixo para campos não públicos e não estáticos.
Quando usar?
Quando não usar?
O que eu faço?
Pessoalmente, eu não uso. Isso torna o código mais complicado e prejudica a legibilidade. Se você ainda estiver usando o Bloco de Notas para codificação, não tenho palavras, mas os IDEs modernos são capazes de destacar e colorir variáveis de membros e locais ou qualquer outra coisa.
Conclusão
Usar? "Sim" ou "Não" é sua escolha pessoal.
fonte
public static int
, mas use ems
vez dem
:public static int sFirstNumber;
consulte stackoverflow.com/a/49453184/7767664 #Se são variáveis de membro em classes, o 'm' significa 'membro'. Muitos programadores Java fazem isso, embora com IDEs modernos não seja necessário, pois você tem destaque, dicas de ferramentas sobre o mouse etc.
fonte
De acordo com o livro Clean Code, não é um código limpo.
fonte
Se você tiver problemas como
Não se esqueça de fazer o próximo ( Configurações / Editor / Estilo do código / Java / Geração de código ):
Atualização: não usamos algo assim no Kotlin (é melhor mudar para ele e não usar mais prefixos)
fonte
Eu acho que é muito individual quais convenções de código são usadas. Prefiro nomear minhas variáveis com os seguintes prefixos:
Mas acho que cada programador tem seu próprio estilo.
fonte
Para provar que você definitivamente não deve tratar esta convenção para nomear variáveis em seu código, passo uma captura de tela de um Android Studio pai abaixo.
Encontre que as variáveis dentro de um objeto são classificadas especialmente para colocar variáveis m abaixo das variáveis nativas . Assim, nomeando-os em seu código com o prefixo "m", você os oculta em uma pilha de si mesmo .
fonte
O único benefício que encontrei nesse estilo de código é quando, durante um preenchimento automático de alguma referência a uma variável, sei que posso digitar "m" para ver apenas as variáveis de membro.
fonte
Como mencionado anteriormente, ele é denominado para variável diferente. Mas também é muito útil para geração de código. Se você pressionar "Alt + Insert", obterá janelas para as propriedades mais comuns de geração de código. Se você deseja gerar o método "get" para sua variável, receberá.
Mas se você declarar "m, s", receberá:
Ele será gerado automaticamente e "m" ou "s" serão excluídos do seu construtor, get, definir o nome dos métodos. Depois disso, "get" 'e "set" para o campo serão gerados sem "m". Andoróide Fle-> Configuração-> Código Estilo-> Java-> Código Genenretion. E faça como na foto. Talvez isso ajude. Desculpe pelo meu eng. Configurar android
fonte
Parece ter sido uma preferência pessoal de alguns dos primeiros engenheiros do Android / Google iniciar variáveis de membro com 'm' e, portanto, eles recomendaram.
Agora, essa regra está sendo forçada a cair na garganta dos desenvolvedores em empresas que não são colaboradores da AOSP, simplesmente porque essa página é considerada uma regra do Android Code Style. Há pouco ou nenhum benefício nessa regra. O Google deve considerar removê-lo. Caso contrário, especifique que, para aplicativos Android, quais das regras de estilo de código são opcionais.
Adicione seu comentário de suporte a esta petição para remover a regra https://code.google.com/p/android/issues/detail?id=226814
fonte
Por uma questão de legibilidade, a convenção de
m
variáveis-membro es
campos estáticos não deve mais ser usada se você estiver usando um IDE moderno como o Android Studio. O Android Studio pode diferenciar aqueles sem adicionarm
ous
.fonte
Também pode ser afirmado que significa "meu", como na Classe / Instância está dizendo "Esta variável é minha e ninguém mais pode acessá-la". Diferente de estático, que, embora possa estar disponível apenas para a Classe, é compartilhado por todas as instâncias dessa classe. Como se você estivesse desenhando círculos, precisaria saber o tamanho do raio de cada círculo
mas, ao mesmo tempo, você quer um contador para acompanhar todos os círculos, dentro da classe de círculos que você poderia ter
e, em seguida, basta ter membros estáticos para aumentar e diminuir a contagem dos círculos que você possui atualmente.
fonte
A seguir estão as convenções de nomenclatura,
Exemplo:
fonte