1 - Eu já ouvi falar que dentro da View só deve ter view e não códigos grandes. E também em alguns programas que eu vi no git, tem um main.py... qual é a melhor maneira de distribuir as funcionalidades pelos fontes?
3 - Eu posso escolher colocar todas as tabelas dentro do core/model.py ? Sem fazer a distribuição nos models dentro dos apps?
4 - É comum criar diversos apps no programa?
--
Você recebeu essa mensagem porque está inscrito no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/django-brasil/a1df8e26-154f-4247-89f3-2f6c8dd78afcn%40googlegroups.com.
On Feb 19, 2021, at 11:49 AM, Rafael Henter <hent...@gmail.com> wrote:
Bom dia Paulo,Aqui vou estar falando opniões pessoais de alguém que trabalha a muitos anos com isso.Costumo orientar a seguirem a os Princípios Solid* que embora fale de orientação a objetos você pode aplicar em qualquer coisa na área de desenvolvimento.1 - Eu já ouvi falar que dentro da View só deve ter view e não códigos grandes. E também em alguns programas que eu vi no git, tem um main.py... qual é a melhor maneira de distribuir as funcionalidades pelos fontes?Sendo assim:- separe as suas views por responsabilidade. Uma view grande é horrível de dar manutenção alem de ser um sinal de “mal cheiro” dizendo que tem algo errado ali para ter concentrado código demais em um ponto.- Se preciso crie uma pasta(modulo python) views e nesta pasta separe suas views por responsabilidade que ja vai deixar elas bem menores- Não se se ja usa, mas CBV é bem menos verboso que as FBV que você tem de fazer tudo na mão.- Utilize Fat Models ou caso não goste desta abordagem, use o seu Form ou Serializador para a responsabilidade de criar e alterar para não fazer este código na view. Assim a view vai ter o trabalho somente de orquestrar as necessidades.2 - Programas grandes deixam o sistema lento? Pergunto porque muitas funcionalidades chamam somente pequenas linhas de fontes grandes.Não necessariamente, tudo depende da forma como você usa e arquiteta seus sistema. Vários pontos podem deixar seu sistema lento, como uma modelagem ruim, muitos dados em um só contexto ou serializador (caso use DRF)3 - Eu posso escolher colocar todas as tabelas dentro do core/model.py ? Sem fazer a distribuição nos models dentro dos apps?ja vi pessoas recomendando isso para não ter problemas de "imports circular”, mas isso fere totalmente quase todos os 5 princípios do Solid. Se você mantem tudo separado por responsabilidade ao mesmo tempo você deixa suas Apps Plugaveis, ou seja, se você precisar da mesma funcionalidade você pode apenas copiar e colocar que vai funcionar sem muito trabalho. Se você acopla tudo, te gere um super re-trabalho e dificulta a re-utilização do seu codigo4 - É comum criar diversos apps no programa?É super comum. Você pode ter quantos forem necessários. Se você tiver uma boa estrutura de pastas, isso vai até te ajudar a mexer somente no que é necessário.Exemplo de um dos meus projetos:
<Screen Shot 2021-02-19 at 11.42.51 AM.png>
Rafael,
Grato pela orientação e pelo seu tempo!
Abs
Para ver essa discussão na Web, acesse
https://groups.google.com/d/msgid/django-brasil/027C1324-512D-416F-95A3-0A069337D120%40gmail.com.