Olá Josir!
> tenho analisado alguns modelos postados e na maioria deles, existe o
> nome das classes inicia em maiúsculo e o nome dos atributos começa com
> letra minúscula.
>
> Existe alguma padronização nesse sentido para o Python/Django ou é
> apenas o hábito ?
> Caso tenha algum documento que formalize essa nomenclatura, alguém
> pode me enviar um link?
Existe a PEP 8: http://www.python.org/dev/peps/pep-0008/
> Pergunto isso, pois acho muito mais produtivo manter o nome dos
> atributos começando com maiúsculo pois na maioria das vezes não
> preciso escrever o "Display Label" do atributo novamente.
>
> Alguns podem dizer que isso irá atrapalhar uma possível tradução
> futura. Mas se no meu caso eu tenho CERTEZA que não irei traduzir para
> nenhuma outra língua, alguém consegue listar outras desvantagens em
> não utilizar o nome dos atributos com a primeira letra em maiúscula?
>
> Saudações a todos,
> Josir.
Então, a maior desvantagem que vejo é se outra pessoa tbm for
trabalhar com seu código. Nunca sabemos o quanto um projeto irá
crescer, ou por quanto tempo vamos continuar participando do
desenvolvimento dele.
A PEP 8 é tão utilizada no "mundo python" que qualquer código que não
siga esses padrões acaba ficando "ugly" à primeira vista (opinião
pessoal minha).
Logo quando comecei com python tbm tive esse tipo de "conflito", mas
resolvi me esforçar e seguir essa convenção de nomeclaturas.
Hoje vejo que a minha escolha foi boa e o esforço valeu a pena. Minha
produtividade com a linguagem se tornou muito maior, principalmente
quando estou lidando com códigos de terceiros.
(Imagine como ficaria seu código ao utilizar modulos externos e
misturar diversas convenções de nomeclaturas num mesmo projeto..)
Enfim, meus 2 cents hehe
abs!
Robson
2011/4/2 Josir <jos...@gmail.com>:
> Pergunto isso, pois acho muito mais produtivo manter o nome dos
> atributos começando com maiúsculo pois na maioria das vezes não
> preciso escrever o "Display Label" do atributo novamente.
Além da PEP-8[1] recomendada pelo Robson (sugiro fortemente a leitura
e a prática dela), acredito que se você usar underscore (_) para
separar as palavras do atributo do seu model o Django coloca os dados
corretamente em maiúsculo, pode conferir que se você criar um atributo
com nome de idade o admin exibi Idade.
[1]: http://www.python.org/dev/peps/pep-0008/
--
Danilo Cabello
Bottom-poster maniac.