Тёмный

Programadores com código sujo : SOLID 

Lucas Montano
Подписаться 292 тыс.
Просмотров 26 тыс.
50% 1

#programadora #programador #solid
Já ouviu falar nos cinco princípios da programação orienta a objetos?
S - Single Responsiblity Principle (Princípio da responsabilidade única)
O - Open-Closed Principle (Princípio Aberto-Fechado)
L - Liskov Substitution Principle (Princípio da substituição de Liskov)
I - Interface Segregation Principle (Princípio da Segregação da Interface)
D - Dependency Inversion Principle (Princípio da inversão da dependência)
🚀Consultoria Privada
calendly.com/lucasmontano
❤️Tu pode ser um MEMBRO do canal agora! E resolver algoritmos de entrevistas (Google, Facebook, Amazon e outras Big Techs) comigo toda semana: / @lucasmontano
🧠 Receba um resumo do que eu tenho lido e estudado
bit.ly/lucasmontano-notes
🤓The book is on the table!
Faça uma aula grátis em inglês com nativos.
cambly.com/invite/lucasmontano
👾 Qual VPN eu utilizo? (sempre seguro)
bit.ly/minha-vpn
🤓 Livros que me ajudaram muito!
Clean Code: amzn.to/2R3WghC
Padrões de Projeto: amzn.to/2J5QPeM
The Dip - quando tu deve desistir: amzn.to/2lbB2lQ
Startup de $100: amzn.to/2H4DORR
Cracking the code interview: amzn.to/2n24ID3
De Zero a Um by Peter Thiel: amzn.to/2Z2N9Un
Lean Startup: amzn.to/2Kwvc8G
Tools of Titans by Tim Ferris: amzn.to/2KxLXjB
Principles by Ray Dalio: amzn.to/2YXug5j
On Tyranny by Tim Duggan: amzn.to/33uMCKe
A arte da guerra: amzn.to/31ALLpv
Tribe of Mentors by Tim Ferris: amzn.to/2Z6rW7U
Cartas de um Estoico: amzn.to/2yVQkOY
📱Devices que mudaram minha vida!
Kindle 10a. geração: amzn.to/2Q7jrdL
📸 Continue acompanhando lá no Instagram
bit.ly/LucasMontano-Instagram
🚀 Projetos fundados e co-fundados por mim
🤖 Planejei
Ajudamos brasileiros na realização de objetivos, oferecendo um assistente financeiro virtual batizado de Marvin, que conecta nos maiores bancos brasileiros, agregando e organizando toda sua vida pessoal em poucos segundos.
Investidores: Porto Seguro, Plug&Play (San Francisco, CA) e Anjos
planejei.com
♻️ Descartaê
A platform that make available sets of data about waste disposal facilities collected by the local librarian communities from Brazil.
Apoiadores: Caravan Studios (TechSoup Global) - San Francisco, CA
github.com/descartae
💰Finanças Pessoais
Meu primeiro app! Gerenciador financeiro disponível em mais de 23 países através da Google Play e Apps Club. Em 2018 batemos a marca de 1 milhão de downloads. Atualmente o projeto está disponível somente para clientes da Apps Club.
Entrevista Dinheirama: bit.ly/2Z3vwnh
Download para assinantes Apps Club: www.appsclub.com
🍝 Prato Cheio
Meu segundo app! Receitas indicadas de forma inteligente, analisando o que você tem de ingredientes em casa. As sugestões são feitas a partir dos ingredientes selecionados e do seu horário local.
Download disponível na Google Play: play.google.com/store/apps/de...
🚌 Fiscal a Bordo
Projeto desenvolvido em dois dias. Aplicativo que permite passageiros a denunciar excesso de velocidade em ônibus.
Entrevista: bit.ly/fiscal-a-bordo

Наука

Опубликовано:

 

27 фев 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 112   
@FilipeDeschamps
@FilipeDeschamps 4 года назад
HAHAHAHHA muito obrigado pela indicação meu caro! Vamo que vamo 🤝
@LucasMontano
@LucasMontano 4 года назад
✌🏻conteúdo massinha né! Tem que indicar
@fabifs07
@fabifs07 4 года назад
Vcs dois sao muito foda
@AlexT.M
@AlexT.M 4 года назад
melhores pessoinhas do youtube !
@edupazz
@edupazz 4 года назад
"um vídeo com você parecendo um balão contra um fundo branco". Só conteúdo delicinha desses dois canais!
@thiagootoni7184
@thiagootoni7184 4 года назад
Seria massa, uma parte 2 desse vídeo, mostrando vc codando, indo e vindo nos problemas e soluções.
@Fernando-du5uj
@Fernando-du5uj 4 года назад
Por favor, Montano, faça isso!
@victoramorim7650
@victoramorim7650 2 года назад
Nice
@douglaspoma
@douglaspoma 2 года назад
Nunca... só pelos exemplos dados... quer ver com quem realmente sabe, procura aí, Rodrigo Manguinho.
@chicokarkow2441
@chicokarkow2441 4 года назад
Seria muito interessante vídeo de testes unitários
@lucasbortolatto7593
@lucasbortolatto7593 4 года назад
up
@emersongin
@emersongin 4 года назад
Falar do L.I.D. também! Mas TDD com exemplo, esse sim é interessante. Principalmente uma boa pratica dele.
@Lucianovianasouza
@Lucianovianasouza 4 года назад
17 minutos de pura experiência, obrigado.
@videoaulasmayleone
@videoaulasmayleone 4 года назад
Seu conteúdo é ótimo! Consegue explicar sobre um assunto complexo de forma tão simples e didática que dá vontade de aplaudir hahaha parabéns!
@victorbiasibetti
@victorbiasibetti 4 года назад
Nossa, isso faz total sentido mas percebi agora que quase nunca usei esses principios (principalmente o 'I') Top demais!!
@ProcessEnvironments
@ProcessEnvironments 3 года назад
Boa ideias!! Depois grava um video com exemplos práticos!!! Parabéns pelo trabalho. Um abraço.
@DMugsP
@DMugsP 4 года назад
Lucas muito bom! Poderia fazer tbm um sobre programação funcional do js.
@franciscogarcia9441
@franciscogarcia9441 4 года назад
Seu conteúdo é excelente! Muito obrigado Lucas, sempre aprendendo e me inspirando com seus vídeos!
@leonardofirmino3842
@leonardofirmino3842 4 года назад
Mais que vídeo sensacional Lucas Obrigado, Logo no mês da matéria de programação Orientação a Objetos na Faculdade. Parabéns
@kassuelo8124
@kassuelo8124 4 года назад
Faz um vídeo explicando o que é e como funciona as linguagens orientada a funções, como é o javascript
@heraldo623
@heraldo623 4 года назад
O S, O, I e D são genericos e podem ser aplicados a qualquer linguagem que permita abstrações e divisão do software em um conjunto de unidades (na programação procedural, é a função; na orientada a objetos, é a classe).
@eduardovillasboas3403
@eduardovillasboas3403 4 года назад
O som do seu canal é muito show. Adoro seu conteúdo. Valeu.
@otonelive
@otonelive 2 года назад
Eu já tinha lido e tentado entender os Solid Principles, mas só agora percebi que não tinha entendido era nada! Valeu demais Lucas, é noiss
@pedrolobo1081
@pedrolobo1081 4 года назад
Eu aprendi alguma coisa de Clean Code com o Deschamps e tenho feito o possível para aplicar o S.O.L.I.D. Inclusive estou fazendo um curso de Design Patterns. =)
@fabianogomes1150
@fabianogomes1150 4 года назад
Lucas, mas e se no caso, a função da minha classe for atuar como um informativo de objetos? Por exemplo, eu tenho vários tipos de exames (infoExames), claramente cada exame possui uma classe e eu preciso fazer a listagem desses exames. Por estar trabalhando com o realmDB, meus exames não podem estender uma classe exame, pois eles estendem a RealmObject. Então, eu crio uma classe que consiste em: ID do objeto e tipo do objeto. Dessa forma eu consigo, ao clicar no componente de listagem, recuperar o objeto no banco de dados e direcionar a abertura da tela de visualização de exame correta, uma vez que por serem exames diferentes, possuem estruturas diferentes. Até aí ela respeita os princípios SO, mas se eu precisar fazer isso com um segundo tipo de objeto, por exemplo, paciente particular ou com convênio, pq é melhor eu criar um infoPacientes em vez de aproveitar a minha infoExames e apenas adicionar uma informação para que ela atue adequadamente nessa função? Ps: A grande questão é que não é possível estender, pois, no exemplo, já estamos estendendo a RealmObject.
@robatsilva
@robatsilva 9 месяцев назад
Digamos que eu tenha a classe Partida, e um método finalizar partida, que dentro dele precisa chamar o método da classe quadra para consertar campo. Provavelmente poderíamos ter uma injeção da quadra na partida. Mas como ocorre essa injeção para passar a instância de quadra de madeira ou grama?
@FarukAFeres
@FarukAFeres 4 года назад
Herança, Interface, Events(Delegate), etc.. mas pode ser que modificar a classe também seja uma opção... Ficar dando volta pra extender uma classe dentro de um sistema também pode ser detrimental. Ainda mais em projetos pré produção.
@FabySans
@FabySans 4 года назад
Gosto pra caramba dos vídeos do Lucas Montano.
@ofelipesantos
@ofelipesantos 4 года назад
Primeiramente, parabéns pelo conteúdo! Segundamento (off): adiciona uma espuma no mic vai tirar esses pequenos ruídos, vai melhorar ainda mais a qualidade do seu trampo!
@denisoliveira3649
@denisoliveira3649 4 года назад
Me tira uma duvida. Pensa na situaçao (("Teu chefe chega pra voce e manda voce aprender Vue.js pra fazer um projetinho de ponto(entrada e saida na empresa) com cadastro e relatorio. Você nunca nem ouviu falar de Vue e ele diz "Em quanto tempo voce me entrega" eae? quanto tempo? )). To meio nessa, tenho um ano que estudo programacao e preciso entregar isso para passar para um estágio mas to achando que estou demorando muito. tem 2 semanas.
@AdeilsonTube
@AdeilsonTube 4 года назад
Alguém conseguiu implementar a classe quadraDeFutebol com o S.O. para vermos como fica esse código?
@pwcodigo
@pwcodigo 7 месяцев назад
Obrigado pelo conteúdo.
@MarcoSync
@MarcoSync 4 года назад
Assisti um curso onde o professor disse que o D é o mais importante porque segundo ele "it enables us to create systems that are loosely coupled, easy to change, and maintain." pelo que entendi do curso um princípio acaba por englobar o anterior, portanto o último agrega todos os outros e talvez por desse ponto de vista ele seja de fato o "mais importante", mas claro que todos os outros estão contidos nele.
@LucasMontano
@LucasMontano 4 года назад
sim! faz muito sentido isso!. a ideia que tive de falar do SÓ, é que pra atingir eles tu vai precisar dos demais (e acabar aprendendo na prática).
@marcelofranca6943
@marcelofranca6943 4 года назад
muito bom, muito bem explicado
@renanborges9167
@renanborges9167 4 года назад
Eu aprendi esse conceito de classes de objetos na minha formação tecnóloga de banco de dados posso estar errado mas , para o caso da quadra de madeira ou grama entendo eu que: Deve ser criar outras entidades chamada tipo_madeira' , 'tipo_grama' onde está por sua vez pode incrementar um método manutenção, assim a chamada quadra.tipo_grama(self, manutenção) ou quadra.tipo_madeira(self, manutenção) respeitaria os princípios de sOlid, pois há uma expansão sem necessidade de modificação dos códigos das três entidade a envolvidas (quadra, tipo e manutenção).
@snk-js
@snk-js 4 года назад
eu comecei a seguir e apoiar novos youtubers desenvolvedores, você é um deles, parabéns bora cresce junto carai
@LucasMontano
@LucasMontano 4 года назад
obrigado Juliano!
@Steinzito
@Steinzito 4 года назад
Lucas me inscrevi há um tempo para receber seus resumos e estudos mas até o momento não recebi nada. Parabéns pelo conteúdo
@denisfs5526
@denisfs5526 4 года назад
Cara to iniciando em PHP agora e tudo isso é verdade, acho que todo programador iniciante em oop é assim hehe, vc vai programando e programando e de repente você olha para o codigo e tem uns monstros no seu projeto. O bom é que da pra refatorar e aprender bastante nesse processo.
@pwcodigo
@pwcodigo 7 месяцев назад
Verdade ! Estou nessa fase agora também, estudando os conceitos de OOP para aplicar corretamente com PHP.
@renansantos8456
@renansantos8456 4 года назад
Eu tava estudando SOLID pra limpar meu código.. eu achava que programava bem, meus códigos eram até bem escritos e fáceis de manusear, mas depois de ver esses princípios eu percebi o quanto meu código não é escalável e muito acoplado, fiquei assustado, mas ta sendo difícil de aplicar todos, é bem complexo, mas os dois primeiros eu to bem :D
@felippesouza4239
@felippesouza4239 4 года назад
sim cr, é um puta desafio, vc tem q saber olhar pro codigo de uma forma diferente e reconhecer os padroes de cagadas p limpar. é complicado, é bom demais tbm
@raphaelgoncalves2510
@raphaelgoncalves2510 4 года назад
Nem comecei o vídeo, mas já deixei o like!
@thiagovasconcelos2005
@thiagovasconcelos2005 4 года назад
Solid, ja me veio em mente SolidWorks, o melhor CAD
@heraldo623
@heraldo623 4 года назад
Sobre a quadra, vemos que existe uma superclasse chamada Quadra e uma subclasse para cada tipo. Na superclasse teriamos metodos abstratos como "temDefeitos?()", "getDefeitos()", "corrigirDefeito(defeito)". As subclasses implementam a ação correta para cada tipo de quadra. Essa é uma técnica de refatoração, vc pode trocar uma seleção (if, switch) de ação a ser realizada por polimorfismo, onde vc cria uma subclasse pra cada ação e instancia diretamente essa classe. Dessa maneira vc pode adicionar novas ações sem alterar o codigo existente, basta criar uma nova subclasse.
@LucasMontano
@LucasMontano 4 года назад
ótima solução Heraldo! existe também a possibilidade de usar contratos (interfaces) e injetar o comportamento desejado
@emersongin
@emersongin 4 года назад
Inversão de dependência não seria o "D = DIP" do SOLID? Obrigado pelo vídeo, tinha duvidas sobre o Open Close Principle. comentei bastante, mals! :D é que adoro esse tema.
@heraldo623
@heraldo623 4 года назад
Sim. Todos os principios sao igualmente importante. O S prove um software de facil entendimento, organizado. O Open-Closed permite adicionar funcionalidades com facilidade. O D permite mudar a implementação sem alterar o codigo existente, algo mais avançado que o O.
@dev_zero0
@dev_zero0 Год назад
No aguardo do vídeo explicando o LID
@PabloSilva-ph6mk
@PabloSilva-ph6mk 4 года назад
Filipe Deschamps é sinônimo de clean code!
@_mcd
@_mcd 4 года назад
Excelente!
@PedroPaulo-sd3hb
@PedroPaulo-sd3hb 4 года назад
Alguem ai sabe se so com o conhecimento basico do js, css3 e html5 da pra aprender react native?
@madaradase
@madaradase 4 года назад
Ta esperando oq? Vá estudar. Vc vai descobrir se é o suficiente tentando...
@emersongin
@emersongin 4 года назад
Se você sabe como funciona .Bind do JS, tudo fica mais fácil em React! Porém não é tudo, tem bastante coisa.
@tiagocunhafernandes6607
@tiagocunhafernandes6607 4 года назад
Rocketseat pra você! Pega a próxima semana omnistack e veja como se desempenha. Então escolha entre o curso base ou o bootcamp. Não tem erro!!! Pode investir.
@iaml2909
@iaml2909 4 года назад
Sim. Tá esperando o q? Manda bala cara. Se nao souber algo pesquise.
@FERNANDOAMAZING
@FERNANDOAMAZING 4 года назад
Quando ao Single Responsability...se não me engano, o Uncle Bob disse em um vídeo que a motivação para esse princípio é diminuir a quantidade de stakeholders das classes, evitando que vc se ferre futuramente hahaha.
@6ustavo100
@6ustavo100 4 года назад
O melhor foi a pausa técnica de sobrevivência no início do vídeo
@ulisses305
@ulisses305 4 года назад
Na hora de adicionar uma feature se a classe tem muitas responsabilidades , e preciso um milagre para nao deixar um bug.
@emersongin
@emersongin 4 года назад
Ai você refatora ela, pq algo está errado.
@_mcd
@_mcd 4 года назад
@@emersongin e aí e dead line come meu ra%0 pq já to sem tempo p entregar as novas updates e ainda tem q refatorar classe cagada xD
@emersongin
@emersongin 4 года назад
@@_mcd kkk
@molestando
@molestando 4 года назад
Adorei
@tiagocunhafernandes6607
@tiagocunhafernandes6607 4 года назад
Lucas... porque não teve código? Cadê o mão na massa, o show me the code ???
@tiagocunhafernandes6607
@tiagocunhafernandes6607 4 года назад
Olha que simples exemplo. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-UQqY3_6Epbg.html
@LucasMontano
@LucasMontano 4 года назад
boa!! já tem muito vídeo de código nesse RU-vid, borá reutilizar. Comenta aí uns bons pra galera 😃
@felippesouza4239
@felippesouza4239 4 года назад
qual seria os outros 4 principios de poo? design patterns e tdd entra?
@gabrielbarbosa8293
@gabrielbarbosa8293 2 года назад
Encapsulamento, Herança, Polimorfismo e Abstração.
@mateusneri1072
@mateusneri1072 4 года назад
CRIADOR do clean code kkkkkk foi demais... ...mas na moral o cara é demais
@ReinanLim4
@ReinanLim4 4 года назад
Lucas, primeiramente parabéns pelo conteúdo, muito massa 👏🏽👏🏽👏🏽 Segundo, poderia indicar livros ou artigos pra gente estudar sobre SOLID e Design Patterns? Vlw aê o/
@lucasbortolatto7593
@lucasbortolatto7593 4 года назад
Opa Reinan. Não sou bem o Lucas que você está chamando, mas vou postar aqui uma breve contribuição para a sua pergunta. Livro 1: Padrões de Projeto (do Gang of Four); 2: Use a Cabeça!: Padrões de Projetos; 3: Refatoração para Padrões (Joshua Kerievsky); 4: Utilizando UML e Padrões (Craig Larman). Valeu!
@ReinanLim4
@ReinanLim4 4 года назад
@@lucasbortolatto7593 Opa, brigadão Lucas o/ Nesses livros também abordam SOLID? Provavelmente aborde alguns dos princípios que correspondam tbm a alguns padrões, mas só pra me situar mesmo rs Mesmo assim brigadão pelas indicações o/
@felippesouza4239
@felippesouza4239 4 года назад
fala meu bom, so complementando o comentario do rapaz aí, tem um livro excelente da casa do codigo, so escrever 'solid casa do codigo' e vc vai achar. acho uma boa tbm vc ler o livro sobre tdd (casa do codigo tbm) q é vai te ajudar a aplicar alguns principios do solid e fzr um bom design de classe junto. por fim, começar a estudar design patterns pelos livros da casa do codigo acho um bom caminho, ja q é mais introdutorio
@ReinanLim4
@ReinanLim4 4 года назад
@@felippesouza4239 brigadão pelas recomendações aê, man o/ Colocando tudo numa lista aqui pra começar a comprar esses livros \o/
@douglaspoma
@douglaspoma 2 года назад
Livro é muito teórico, você vai ficar tipo o dono do canal, só exemplo sem utilidade... da uma olhada no conteúdo e cursos do Rodrigo Manguinho...
@williamtome7426
@williamtome7426 4 года назад
Tô estudando sobre isso na faculdade.
@allandiego1446
@allandiego1446 4 года назад
Na minha opnião um classe deveria ser composta por no máximo 5 funcionalidades principais
@felipeoliveira5191
@felipeoliveira5191 4 года назад
Quando sai os vídeos de git?
@LucasMontano
@LucasMontano 4 года назад
tá planejado pra terça, vamos ver se consigo fazer :)
@felipeoliveira5191
@felipeoliveira5191 4 года назад
@@LucasMontano se vc consegue mandar um hardflip, vc consegue fazer esse vídeo ;) valeu cara!
@eduardovillasboas3403
@eduardovillasboas3403 4 года назад
Pra mim o S e o O são tão importantes que acabam arrastando os outros três pra dentro do seu projeto, concordo plenamente que esse dois são os mais importantes, infelizmente são muito mal entendidos e não utilizados normalmente. Espero que um dia isso mude.😐
@MegaSharking
@MegaSharking 2 года назад
Gostei do livro do Harry Potter na sua mesa man.
@peedrojs7683
@peedrojs7683 4 года назад
mais coisa pra aprender ;-;
@adoniasalcantara522
@adoniasalcantara522 4 года назад
O framework do Android é um bom exemplo de violação dos princípios SOLID
@guilhermelima8066
@guilhermelima8066 4 года назад
Uma correção: não use herança em nada na sua vida como programador. Use composição.
@LucasMontano
@LucasMontano 4 года назад
concordo, aí entra inversão de dependência, delegates, decorates...
@felippesouza4239
@felippesouza4239 4 года назад
ja vi gente dizendo q da p usar os dois. a heranca p coisas q dificilmente mudam e composicao p coisas incertas, mas q tem q tomar um puta cuidado com heranca
@guilhermelima8066
@guilhermelima8066 4 года назад
@@felippesouza4239 Vc pode usar herança simples se quiser eu acho que não tem problema, você vai evitar os maiores problemas que vem da herança múltipla. Porém é um dificuldade desnecessária a mais. Você pode usar outras técnicas mais eficazes de reaproveitamento de código.
@iaml2909
@iaml2909 4 года назад
Vi em curso da udemy o professor martelando sobre isso. Optar sempre por composição
@caquintella
@caquintella 2 года назад
Falar do S e do O é fácil, difícil é entender os demais!!!
@RafaelLima-ox9ul
@RafaelLima-ox9ul 4 года назад
Thumbs up para o fogaréu no meio da rua! :D
@feab100
@feab100 4 года назад
😂😂 🔥
@wilsontavaresconcursos
@wilsontavaresconcursos 4 года назад
Tomei um golpe de um programador. Que ódio
@carlaevelyn5125
@carlaevelyn5125 4 года назад
Dramático? Kkkkkkkkk "Vou morrer"
@snk-js
@snk-js 4 года назад
quadra de madeira hahahaha
@LucasMontano
@LucasMontano 4 года назад
=D
@WallaceRobertoc1
@WallaceRobertoc1 4 года назад
o/
Далее
TENTEI APRENDER PROGRAMAÇÃO DO ZERO
0:21
Просмотров 625 тыс.
O QUE ESPERAM DE PLENO (na Programação)
16:12
Просмотров 41 тыс.
Все мы немного Адриана 😂😂😂
00:11
SOLID Principles: Do You Really Understand Them?
7:04
Просмотров 119 тыс.
Como um programador Junior vira Pleno
13:00
Просмотров 80 тыс.
Potencial de nāo ser IDIOTA como Programador
14:54
Просмотров 23 тыс.
SAMSUNG S23 ULTRA🔥
0:47
Просмотров 146 тыс.