Atualmente estou programando um aplicativo para o Android. Agora o que descobri é que você não pode colocar objetos de recurso, digamos, uma imagem na pasta drawable e nomeá-la como "myTestImage.jpg". Isso gerará um erro do compilador, já que a sintaxe camel case não é permitida, então você terá que renomeá-la como "my_test_image.jpg".
Mas e quanto aos ids que você define no arquivo XML. Digamos que você tenha a seguinte definição
<TextView android:id="@+id/myTextViewFirstname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Firstname" />
Esta é uma definição válida, compila e funciona muito bem no meu emulador Android, embora - como você vê - eu esteja especificando o id na sintaxe camel case.
Agora, os exemplos do Android sempre usam minúsculas e sublinhado. Esta é apenas uma convenção de nomenclatura para usar minúsculas com sublinhado para os ids ou pode causar problemas no dispositivo real?
THX
AppBaseTheme
eAppTheme
.Se você observar os
android.R.id.*
campos, notará que todos eles estão em uma caixa de camelo. Portanto, se os ids do Android forem escritos em "camel-case", acho que devemos seguir esta convenção :)fonte
widget_frame
campo [ developer.android.com/reference/android/R.id.html#widget_frame] também nosandroid.R.id.*
campos. neste campo, o Google usa o sublinhado, não o caso do camelo. Portanto, sua conclusão sobre a convenção do caso do camelo é a escolha certa para a convenção de identidade pode ser falsaEu acho que é bom se usarmos todas as letras minúsculas com sublinhados.
Basta olhar para isso (acrescentando ao que Daniel respondeu)
em minha própria experiência, tendo a ficar um pouco confuso com a convenção de caixa de camelo em xml porque quando você o vincula a Java, que também usa caixa de camelo (porque é o padrão), parece um doppleganger.
fonte
Acho que se usarmos a convenção de sublinhado para id em arquivos xml e a convenção camel case para campos de classe, isso dará melhor visibilidade a cada desenvolvedor para distinguir entre ids xml e campos de classe.
fonte
Se você olhar alguns exemplos de aplicativos do Google, como:
https://github.com/google/iosched
Eles usam sublinhados. Então .... talvez seja assim que deveríamos estar fazendo isso?
fonte
Em primeiro lugar, não existe um padrão certo para definir qual é o mais adequado, mas tenho minha própria ideia sobre isso. Minha ideia é razoável manter o id XML e a variável java exatamente no mesmo nome com a convenção camel-case.
É fácil chegar à variável procurando pelo projeto tanto no XML quanto no lado Java.
definição da biblioteca butterKnife
@BindView (R.id.infoTextView) TextViewFont infoTextView;
É mais apropriado manter assim.
fonte
Os nomes de arquivo xml (que é o que é usado na pasta drawable) devem ser todos minúsculos separados pelo caractere de sublinhado _ uma vez que nomes de arquivo em maiúsculas não são suportados em xml.
fonte
Se o compilador do Android está realmente fazendo o que você diz restringindo a caixa de camelo (o que parece um tanto estranho), então você deve seguir as convenções estabelecidas.
Ir contra a corrente só causará confusão desnecessária. Mantenha as coisas consistentes em todos os lugares onde for possível.
fonte