Paulo-Sergio / RecriandoContaAzulNFE

Criando um sistema completo... Recriando Conta Azul com PHP
1 stars 1 forks source link

PHP DO ZERO AO PROFISSIONAL #1

Open filipemacedo opened 7 years ago

filipemacedo commented 7 years ago

Fala Paulo, beleza? Também vi umas aulas lá, porém acho que o bonieky deixou a desejar nos projetos práticos. Hoje vi que ele mesmo não pregou nos projetos tudo o que ele ensinou (boas práticas).

Verificando o seu HomeController dá para notar que sua classe que é responsável por exibir a 'home' também tem a responsabilidade de verificar se o usuário está logado, mesmo isso não sendo uma responsabilidade dela. Isso está infligindo o princípio Single of responsibility.

O QUE DEVO FAZER?

O ideal seria criar uma espécie de middleware, em vez do core chamar o controller de imediato o mesmo checaria de alguma forma se existe um middleware para aquela rota. Caso tenha será chamado o middleware (que vai verificar se o membro está logado) e após fazer a verificação ele tomaria algum rumo (chamar o controller ou chamar página de login).

Paulo-Sergio commented 7 years ago

Concordo com você devmacedo.

A estrutura MVC dele tem alguns pontos falhos, e esse que você citou é um deles... A repetição de código em todos os controllers para verificar se está logado é realmente um problema. E para exibir as informações básicas no template ele repeti em todas as actions tambem... (ex: nome da empresa e e-mail da empresa).

No model as vezes ele faz um bagunça acessando o banco mais de uma vez com o mesmo método, e ele não usa métodos auxiliares. Nesse caso do model especifico eu já refatorei no meu código para melhorar essa questão (e continuo refatorando). Estou querendo agora refatorar tbm essa questão do login e das informações básicas do template por exemplo...

O curso dele é bom, não dar pra dizer tbm que é ruim. Mas ele comete esses deslises eu acho que é mais pra galera mais lenta compreender com mais facilidade, ou sei lá... rsrsrs

Abraço

filipemacedo commented 7 years ago

Tudo bom? O curso dele não é ruim, o que é ruim é o módulo prático. Eu acho o seguinte: Se eu ensinei para você Singleton Chain of responsibility Factory method Abstract method Façade Strategy Adapter Command Builder Decorator Iterator Template method Etc...

Pelo menos um de cada (condicional, estrutural e criação) eu vou usar para desenvolver o módulo prático para que possamos ver como aplicar os padrões. Mas nesse caso ele tentou 'ensinar' algo que nem ele sabe, se você pesquisar o exemplo que ele usa são os mesmos do wikipedia, hoje eu tento me aprofundar em padrões e boas práticas de desenvolvimento, se você já entende o necessário de OO, aconselho fechar a página e estudar sobre os padrões, psr, solid e etc Em 25 de mai de 2017 9:45 AM, "Paulo França" notifications@github.com escreveu:

Concordo com você devmacedo.

A estrutura MVC dele tem alguns pontos falhos, e esse que você citou é um deles... A repetição de código em todos os controllers para verificar se está logado é realmente um problema. E para exibir as informações básicas no template ele repeti em todas as actions tambem... (ex: nome da empresa e e-mail da empresa).

No model as vezes ele faz um bagunça acessando o banco mais de uma vez com o mesmo método, e ele não usa métodos auxiliares. Nesse caso do model especifico eu já refatorei no meu código para melhorar essa questão (e continuo refatorando). Estou querendo agora refatorar tbm essa questão do login e das informações básicas do template por exemplo...

O curso dele é bom, não dar pra dizer tbm que é ruim. Mas ele comete esses deslises eu acho que é mais pra galera mais lenta compreender com mais facilidade, ou sei lá... rsrsrs

Abraço

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Paulo-Sergio/RecriandoContaAzul/issues/1#issuecomment-304001476, or mute the thread https://github.com/notifications/unsubscribe-auth/AbansFV-QIewbVwaLGDAzc2tQ1QUod__ks5r9XfNgaJpZM4NlqNi .

Paulo-Sergio commented 7 years ago

Concordo quanto você diz que ele deu exemplos básicos de um monte de padrão, mas não aplicou quase nenhum nos projetos práticos.

Ele é um pouco limitado nesse quesito. Ele meio que ensinou esses padrão (mesmo que basicamente), só pra dizer que no curso tem... Mas na pratica que era pra usar de fato, ai ele não usa kkkkkk...

Mas o que eu estou costumando fazer é ir refatorando o projeto para tentar deixar em um padrão melhor e aceitável, como eu tenho experiencia com programação em Java principalmente, eu consigo fazer isso com mais facilidade. Agora quem é iniciante não consegue nem contestar essas coisas...

Vamos ver se nos novos projetos dele da plataforma 2.0, ele vai conseguir mudar isso...

filipemacedo commented 7 years ago

Complicado, eu hoje estudo por fora. Sou assinante da school of net, mas a maioria das coisas que eu consigo adquirir de diferente é através de artigos, livros e etc. Atualmente estou altamente interessado em assuntos relacionados à inteligência artificial. Em 26 de mai de 2017 10:10 AM, "Paulo França" notifications@github.com escreveu:

Concordo quanto você diz que ele deu exemplos básicos de um monte de padrão, mas não aplicou quase nenhum nos projetos práticos.

Ele é um pouco limitado nesse quesito. Ele meio que ensinou esses padrão (mesmo que basicamente), só pra dizer que no curso tem... Mas na pratica que era pra usar de fato, ai ele não usa kkkkkk...

Mas o que eu estou costumando fazer é ir refatorando o projeto para tentar deixar em um padrão melhor e aceitável, como eu tenho experiencia com programação em Java principalmente, eu consigo fazer isso com mais facilidade. Agora quem é iniciante não consegue nem contestar essas coisas...

Vamos ver se nos novos projetos dele da plataforma 2.0, ele vai conseguir mudar isso...

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Paulo-Sergio/RecriandoContaAzul/issues/1#issuecomment-304278538, or mute the thread https://github.com/notifications/unsubscribe-auth/AbansF1pfaxf3UyLN9OaJ6vSRwRFYuycks5r9s8-gaJpZM4NlqNi .

grbalmeida commented 5 years ago

A grande vantagem do curso é a abundância de projetos, para quem está começando é ótimo para praticar e melhorar um pouco a lógica de programação, porém o curso tem alguns pontos de falha.

Além da repetição de código, em algumas queries no banco de dados o Bonieky faz um select * from tabela. Quando você está em um ambiente de desenvolvimento acaba não fazendo diferença, mas quando você está em produção, e com uma quantidade relevante de consulta, a performance do seu sistema vai lá em baixo.

Sobre a não utilização de conteúdos mostrados no curso (Design Patterns), isso se extende para demais áreas, por exemplo sobre o PHP 7, onde ele não usa o que foi mostrado no curso (tipagem de parâmetros de funções, operador null, etc).

Se eu fosse o Bonieky eu focaria nos próximos projetos em colocar boas práticas em prática.