Programadores com código sujo : SOLID

  Рет қаралды 28,171

Lucas Montano

Lucas Montano

Күн бұрын

Пікірлер: 117
@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 3 жыл бұрын
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.
@victorbiasibetti
@victorbiasibetti 4 жыл бұрын
Nossa, isso faz total sentido mas percebi agora que quase nunca usei esses principios (principalmente o 'I') Top demais!!
@otonelive
@otonelive 3 жыл бұрын
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
@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 Жыл бұрын
Verdade ! Estou nessa fase agora também, estudando os conceitos de OOP para aplicar corretamente com PHP.
@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).
@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!
@murilodllx
@murilodllx Ай бұрын
Está programando na unity ainda? Seu vídeo ja e salvou há uns 2 anos atrás, kk
@videoaulasmayleone
@videoaulasmayleone Ай бұрын
@@murilodllx programo sim haha atualmente pra uma empresa de dev de games
@murilodllx
@murilodllx Ай бұрын
@@videoaulasmayleone volte a postar alguns vídeos. Seu canal é bom
@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
@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!
@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
@tddwithjava
@tddwithjava 4 жыл бұрын
O som do seu canal é muito show. Adoro seu conteúdo. Valeu.
@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).
@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
@FabySans
@FabySans 4 жыл бұрын
Gosto pra caramba dos vídeos do Lucas Montano.
@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.
@franciscogarcia9441
@franciscogarcia9441 4 жыл бұрын
Seu conteúdo é excelente! Muito obrigado Lucas, sempre aprendendo e me inspirando com seus vídeos!
@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).
@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!
@ProcessEnvironments
@ProcessEnvironments 4 жыл бұрын
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.
@robatsilva
@robatsilva Жыл бұрын
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?
@thiagovasconcelos2005
@thiagovasconcelos2005 4 жыл бұрын
Solid, ja me veio em mente SolidWorks, o melhor CAD
@kassuelo8124
@kassuelo8124 4 жыл бұрын
Faz um vídeo explicando o que é e como funciona as linguagens orientada a funções, como é o javascript
@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. =)
@dev_zero0
@dev_zero0 Жыл бұрын
No aguardo do vídeo explicando o LID
@6ustavo100
@6ustavo100 4 жыл бұрын
O melhor foi a pausa técnica de sobrevivência no início do vídeo
@pwcodigo
@pwcodigo Жыл бұрын
Obrigado pelo conteúdo.
@PabloSilva-ph6mk
@PabloSilva-ph6mk 4 жыл бұрын
Filipe Deschamps é sinônimo de clean code!
@mateusneri1072
@mateusneri1072 4 жыл бұрын
CRIADOR do clean code kkkkkk foi demais... ...mas na moral o cara é demais
@raphaelgoncalves2510
@raphaelgoncalves2510 4 жыл бұрын
Nem comecei o vídeo, mas já deixei o like!
@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.
@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
@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.
@marcelofranca6943
@marcelofranca6943 4 жыл бұрын
muito bom, muito bem explicado
@AdeilsonTube
@AdeilsonTube 4 жыл бұрын
Alguém conseguiu implementar a classe quadraDeFutebol com o S.O. para vermos como fica esse código?
@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.
@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
@tddwithjava
@tddwithjava 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.😐
@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.
@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
@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.
@_mcd
@_mcd 4 жыл бұрын
Excelente!
@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...
@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. kzbin.info/www/bejne/i4LUimaVa6qjmMk
@LucasMontano
@LucasMontano 4 жыл бұрын
boa!! já tem muito vídeo de código nesse KZbin, borá reutilizar. Comenta aí uns bons pra galera 😃
@allandiego1446
@allandiego1446 4 жыл бұрын
Na minha opnião um classe deveria ser composta por no máximo 5 funcionalidades principais
@adoniasalcantara522
@adoniasalcantara522 4 жыл бұрын
O framework do Android é um bom exemplo de violação dos princípios SOLID
@MegaSharking
@MegaSharking 2 жыл бұрын
Gostei do livro do Harry Potter na sua mesa man.
@williamtome7426
@williamtome7426 4 жыл бұрын
Tô estudando sobre isso na faculdade.
@molestando
@molestando 4 жыл бұрын
Adorei
@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!
@peedrojs7683
@peedrojs7683 4 жыл бұрын
mais coisa pra aprender ;-;
@caquintella
@caquintella 2 жыл бұрын
Falar do S e do O é fácil, difícil é entender os demais!!!
@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.
@RafaelLima-ox9ul
@RafaelLima-ox9ul 4 жыл бұрын
Thumbs up para o fogaréu no meio da rua! :D
@profwilsontavares.concursos
@profwilsontavares.concursos 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
@gabrielT93x
@gabrielT93x 6 күн бұрын
se tinha mais cabelo em
@feab100
@feab100 4 жыл бұрын
😂😂 🔥
@WallaceRobertoc1
@WallaceRobertoc1 4 жыл бұрын
o/
Endless job search
23:08
Lucas Montano
Рет қаралды 31 М.
por que DEVs estao deixando as bigtech
28:17
Lucas Montano
Рет қаралды 122 М.
I thought one thing and the truth is something else 😂
00:34
عائلة ابو رعد Abo Raad family
Рет қаралды 13 МЛН
How many people are in the changing room? #devil #lilith #funny #shorts
00:39
Creative Justice at the Checkout: Bananas and Eggs Showdown #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 32 МЛН
Learn SOLID Principles with CLEAN CODE Examples
28:35
Amigoscode
Рет қаралды 279 М.
O que é Soft Skills para programadores?
21:20
Lucas Montano
Рет қаралды 6 М.
Clean Code é para TODOS!
15:34
André Secco
Рет қаралды 408
SOLID (O básico para você programar melhor) // Dicionário do Programador
16:22
QUAL a MELHOR LINGUAGEM para PROGRAMAÇÃO?
6:44
Cortes do Ciência Sem Fim [OFICIAL]
Рет қаралды 606 М.
os maiores GOLPES da história do Desenvolvimento de Software
15:50
Lucas Montano
Рет қаралды 86 М.
Uncle Bob’s SOLID Principles Made Easy 🍀 - In Python!
19:09
ArjanCodes
Рет қаралды 303 М.