Code Smell (A arte de farejar código ruim) // Dicionário do Programador

  Рет қаралды 15,969

Código Fonte TV

Código Fonte TV

Күн бұрын

Пікірлер: 70
@beroodev
@beroodev 3 жыл бұрын
Agora meus amigos do Código fonte, o que fazer quando seu chefe contrata russos considerados os caras da programação, e você como reles junior precisa integrar sua aplicação à aplicação feita pelos russos mas para isso é preciso entender o código, e você se depara com funões do tipo: função "f" que recebe como parametros "a" e "rf" kkkkkkkk to lascado! Excelente video :)
@mickael450450
@mickael450450 3 жыл бұрын
Você troca de empresa, ta maluco ficar ai kkkkkk.
@autovrum
@autovrum Жыл бұрын
Por incrível que pareça, eu refatorei meu código assim.
@jersonbrito
@jersonbrito 3 жыл бұрын
Eu uso o SonarLint no visual studio e o SonarQube no deploy.
@otaviolima7549
@otaviolima7549 3 жыл бұрын
Vlw
@marcosgomes3140
@marcosgomes3140 10 ай бұрын
O SonarLint é muito bom. Mas come uma memória da zorra. rsrsrs Procurei algumas alternativas mas não achei nada pra Python tão bom quanto o SonarLint
@web.andrade
@web.andrade 3 жыл бұрын
Parabéns pela abordagem, este conteúdo é muito rico de detalhes e digo mais... tem muito programador dinossauro por ai que nega que tem smell no código hein. Eu mesmo tenho vários e não me envergonho de dizer porque estou sempre buscando pelas boas práticas e padrões de projetos, acho que o segredo está em parar de achar que sabe demais e refatorar sem medo o que precisa ser melhorado. E claro... assumir seus smells sem frescura!!! Parabéns mais uma vez pelo tema.
@codigofontetv
@codigofontetv 3 жыл бұрын
Muito obrigado Rafael! Você está coberto de razão. Todos os devs em todos os níveis geram smells! Nós mesmos quando estamos com algo ultra urgente apelamos também para as soluções mais rápidas, mas sempre sabendo que precisaremos voltar lá para refatorar. Assumir os smells não desmerece ninguém. Ir lá refatorá-los é que faz um dev um profissional melhor. Grande abraço!
@web.andrade
@web.andrade 3 жыл бұрын
@@codigofontetv Seria legal também se vocês abordassem uma situação (bem polêmica rs) que é muito recorrente no dia a dia dos devs que é a "obsessão por padrões de projeto" que acaba gerando diversos problemas na manutenção do sistema tornando a arquitetura mais complexa do que deveria, muitos se esquecem da importância de manter uma arquitetura manutenível e bem estruturada (por mais que exista complexidade). Sendo que o objetivo deveria ser "resolver problemas complexos com soluções simples" e bem padronizadas hahaha.
@GutoCmtt
@GutoCmtt 3 жыл бұрын
É um exercício de humildade e empatia o desenvolvedor olhar um código 1 ou 2 anos depois de ele ter colocado a mão. Faz a gente olhar as coisas com outras perspectiva e ver que o smell não tá só no outro xD
@marciorjusto
@marciorjusto 3 жыл бұрын
Acho que o segredo do "refatorar sem medo" são os Testes Automatizados: fazê-los sempre que possível, e antes até de começar a mexer no código, traz segurança e confiança ao manter um sistema, além de proporcionar comunicação mais eficiente entre profissionais. E o vídeo de hoje foi muito bom, parabéns ao pessoal do Código Fonte TV!
@DotcodeEdu
@DotcodeEdu 3 жыл бұрын
Resumindo, code smell indica o uso ou não de soluções alternativas provisórias - as famosas gambiarras kkkkk. Mas falando sério, esse tema é muito importante, principalmente em manutenção, como vocês falaram. Talvez iniciantes não entendam e vejam essa importância, mas logo logo vão perceber kkkk
@YuriMatosRodrigues
@YuriMatosRodrigues 3 жыл бұрын
Vídeo excelente. Vcs falaram algo importante também, antes de solucionar o problema, respira e conversa com alguém se tiver dúvidas... Antes um código duplicado do que uma abstração mal feita.
@marcusviniciusmendes7149
@marcusviniciusmendes7149 3 жыл бұрын
Vocês são bons demais! Estou no primeiro período em Ciência da Computação e busco canais como esse, que além da habilidade técnica, dispõe também das habilidades em se comunicar bem , e assim isso torna tudo mais fácil. Muito obrigado!
@eliyahusilva8119
@eliyahusilva8119 3 жыл бұрын
Top ... Começando na programação de modo mais sério e esse canal vai me ajudar bastante
@joaodutra
@joaodutra 3 жыл бұрын
Ixi! O Sonar Qube tá sempre me alertando hahahahah. Aprendo muito com o sonar...
@jersonbrito
@jersonbrito 3 жыл бұрын
Heheheh, video perfeito pra mandar pro amiguinho que não cuida direitinho do código da equipe. Mas uma vez, obrigado pelo conteúdo pessoal!
@codigofontetv
@codigofontetv 3 жыл бұрын
Isso mesmo Jerson! :D Espalhe o smell desse vídeo por aí... kkkk
@gabrielbithencourt2122
@gabrielbithencourt2122 2 жыл бұрын
obrigado por esse vídeo código fonte tv!!!
@edcastanha
@edcastanha 3 жыл бұрын
Em projetos com a colaboração um opção com ferramentas que irão auxiliar a vigilância é o sonarquber
@TarikBoschi
@TarikBoschi 3 жыл бұрын
Muito bom! Para diminuir além de práticas como code review pode automatizar com uso de ferramentas como Sonarqube, CodeClimate, entre outras dependendo da linguagem utilizada.
@gustavokuze
@gustavokuze 3 жыл бұрын
Só faz código espaguete quem não teve que dar suporte a algum numa Sexta-feira às 17:59 da tarde... 😂 Ótimo vídeo, pessoal! Já deu aquele boost pra iniciar a semana.
@codigofontetv
@codigofontetv 3 жыл бұрын
Tem razão, numa sexta-feira às 17:59 está liberado qualquer coisa que rode (mas que deve ser refatorado na segunda)! kkkkk Muito obrigado por nos acompanhar.
3 жыл бұрын
Resumindo... Tem muita gambi, muito workaroud por ai!! Vlw pelo video! Abs! Claudio.
@codigofontetv
@codigofontetv 3 жыл бұрын
Exatamente, todo push feito nas sextas já deveriam ser considerados smells! kkkkk
3 жыл бұрын
@@codigofontetv Sou vitima disso, o pepino fica pra quem vai trabalhar nos finais de semana (plantão), os "Engenheiros" fazem essas obras de arte e depois a Operação é quem segura o tranco!! hehehehe Abs!
@guesswhoitsrnx
@guesswhoitsrnx 3 жыл бұрын
Contextualizando ❤️
@rotognin
@rotognin 3 жыл бұрын
Show de bola! Estava pensando e acredito que existam alguns "code smells" específicos para linguagens com abordagens diferentes. Esse vídeo pode me fazer perceber alguns nas linguagens que uso no dia a dia, Cobol e Delphi.
@nelljrbr
@nelljrbr 3 жыл бұрын
Um dos piores erros é exagero de comentários. Já peguei códigos que pareciam parede de banheiro públicos 😃
@danielalvesmertins4461
@danielalvesmertins4461 3 жыл бұрын
4:10 Para Single Responsibility Principle a sigla correta é SRP, e não SPR.
@codigofontetv
@codigofontetv 3 жыл бұрын
Muito obrigado pela correção Daniel!!!
@fredfonseca1474
@fredfonseca1474 3 жыл бұрын
Muito bom 🤝 tive um estalo muito louco sobre meus códigos...
@ideiax
@ideiax 3 жыл бұрын
Tem uns macarrões tão embolados que parecem magia. Fazer refactor é tenso d+, mas vale a pena depois.
@simulateduniverseofficial
@simulateduniverseofficial 3 жыл бұрын
Uncle Bob, autor de Clean Code, ensina que uma função não deve receber mais que 2 parâmetros. Caso use mais de 2 parâmetros, como no exemplo dado no video, a melhor opção é um objeto, pois o programador não precisa se preocupar com a ordem dos parâmetros, dentre outros benefícios.
@GutoCmtt
@GutoCmtt 3 жыл бұрын
Uncle Bob é um cara um tanto quanto radical pra levar o que ele fala ao pé da letra xD
@simulateduniverseofficial
@simulateduniverseofficial 3 жыл бұрын
@@GutoCmtt alguma coisa errada em passar um objeto como parâmetro ao invés de 15 variáveis?
@GutoCmtt
@GutoCmtt 3 жыл бұрын
​@@simulateduniverseofficial O que vcs falam é em 3, obviamente 15 variáveis não é devem ser usadas como parametro, qualquer erro na ordem já quebra o programa. Quanto ao que ele dá a entender no livro, nem sempre vai ser possível fazer com um objeto. O que ele fala é em passar entidades, ou seja, teria um grau maior de complexidade sendo criado para algo que muitas vezes seria um terceiro argumento, ou um array associativo ao invés das variáveis. O que se vê bastante são argumentos sendo passados como um array associativo, onde fica fácil de entender e de aplicar, e nesse caso eu concordo, mais do que 3 (ele fala em mais do que 2, mas aí já é exagero) argumentos começa a ficar complicado... E quanto ao Uncle Sam, sim, tem muito mérito no que ele fala e os livros trazem bastante reflexões necessárias. Mas o que ele fala não dá pra levar sempre ao pé da letra pq ele é bastante radical nas posições dele, isso já é praticamente um consenso.
@simulateduniverseofficial
@simulateduniverseofficial 3 жыл бұрын
@@GutoCmtt ​ @GutoCmtt Entendi. Mas acho que você tá "overengineering". Abaixo eu coloquei duas maneiras de passar argumentos. Considere que, enquanto na primeira opção você precisa se preocupar com a ordem dos argumentos, na segunda você pode facilmente acessá-los com "." ou "´[ ]", além de ser mais fácil ler o código. Qual das duas maneiras abaixo você acha mais fácil passar/ler argumentos? ---------- function renderUser(userFirstName, userLastName userId, userAge, userStreet, userCity, userNacionality, userPhone, userPicture) { // código... } renderUser(userName, userId, userAge, userStreet, userCity, userNacionality, userPhone, userPicture); ---------- const user = { firstName: "Bob", lastName: "Silva", id: 1, age: 20, contact: { address: { street: "foo foo foo", city: "ace ace", }, phone: "99999999999" }, nacionality: "brasileiro", picture: "..." }; function renderUser(user) { // código... } renderUser(user); ---------- kzbin.info/www/bejne/bXbQk6KBhq1roq8 1:10:40 em diante. "if you have a function and you want to pass six things into it, and those six things are so cohesive that they can be passed into a function together, why aren't they already an object?" "I don't want to see a long, comma separated list of arguments." "create the number of arguments down to two or three. Create objects if you have to."
@GutoCmtt
@GutoCmtt 3 жыл бұрын
​@@simulateduniverseofficial Então, eu já acho que a idéia dele é que é overengineering. Eu acho legal e concordo com criar um array associativo, onde vc pode acessar todos argumentos dentro e passar como $arg['rua'], $arg['cep'] ou algo assim. Mas criar um novo tipo de objeto, uma classe só pra tentar encaixar os argumentos, como se sempre fizesse sentido, acho que é demais. Fora que nem sempre vai dar, e ele fala como se os argumentos de função sempre fizessem sentido em um objeto, apenas por fazerem sentido como argumentos.
@ozeiasribeiro5319
@ozeiasribeiro5319 3 жыл бұрын
Sugestão: falar de ruby. Eu não botava muita fé nessa linguagem. Mas ela é excelente pra desenvolver sites ou funcionalidades de sites de maneira rápida
@codigofontetv
@codigofontetv 3 жыл бұрын
Com certeza Ozeias! Ruby já está na nossa lista.
@codigoninja2268
@codigoninja2268 3 жыл бұрын
Não conhecia o termo, muito bom!!
@magoninhogamer
@magoninhogamer 3 жыл бұрын
Sugestão: falar de Makefiles e CMake
@yasuoyasuo5822
@yasuoyasuo5822 3 жыл бұрын
Igual meu professor diz apressa é inimiga da perfeição
@JoabeRamone
@JoabeRamone 3 жыл бұрын
Eu uso o SonarQube, aprendi muito com essa plataforma.
@alexandrequeiroz3178
@alexandrequeiroz3178 3 жыл бұрын
Sei não ein... Um mão no código desse tema seria lindo hehe
@niltondias1427
@niltondias1427 3 жыл бұрын
O Code Small pode ser utilizado para processos de QA em testes estáticos onde o código é analisado sem executá-lo? Aliás, vocês já postaram ou já pensaram em postar vídeos voltados para o pessoal de QA, software testers? Parabéns pelo vídeo! Como sempre, ótimo conteúdo!
@danieldebatin2385
@danieldebatin2385 3 жыл бұрын
Tem alguma ferramenta para FORTRAN? Tem sido um pesadelo trabalhar com os códigos do meu orientador, que precisam urgentemente de uma limpeza. :P
@engecivila
@engecivila 3 жыл бұрын
es engenheiro estrututal?
@danieldebatin2385
@danieldebatin2385 3 жыл бұрын
@@engecivila Engenheiro naval de formação e trabalho com fluidodinamica computacional. Mas tenho experiência em usar códigos comerciais pra cálculo estrutural.
@engecivila
@engecivila 3 жыл бұрын
@@danieldebatin2385 bacana. Fiz o comentario pq sei que normalmente usam fortran em eng estrutural em agumas universidades
@eduardobcastro14
@eduardobcastro14 3 жыл бұрын
Quando dizem que tem code smell no meu PR dá vontade de esganar quem disse, mesmo sendo verdade kkk
@gcacars
@gcacars 3 жыл бұрын
Pra mim code smell é aquela categoria do Sonar, que mostra umas frescuras depois das prioridades e falhas de segurança kkkkk Mas em pensava que o sentido de code smell seriam alterações pra deixar o código melhor mas que são super simples (só passar um perfume) rs.
@markfazolin
@markfazolin 3 жыл бұрын
Ótimo conteúdo! Deixem um link do livro, achei bem interessante!
@beehlo
@beehlo 3 жыл бұрын
Sonar no intellij para java ..
@GabrielCasote
@GabrielCasote 3 жыл бұрын
Faz um vídeo sobre Dry :)
@heitormbonfim
@heitormbonfim 3 жыл бұрын
Se eu criar uma página inteiramente em javascript utilizando document.createElement() e appendChild(), a página roda mais rápido? em vez de separar html, css e js?
@Yan-zg8us
@Yan-zg8us 3 жыл бұрын
Não existe isso cara, Js é Js Html é Html
@thenriquedb
@thenriquedb 3 жыл бұрын
q
@gersonmoraes8516
@gersonmoraes8516 10 ай бұрын
Faltou o "Downcasting" aqui.. esse pode te dar dor de cabeça se não for feito com muuuita atenção 🤣😂
@j.gleyson8351
@j.gleyson8351 3 жыл бұрын
Muito bom
@j.gleyson8351
@j.gleyson8351 3 жыл бұрын
Querida muito ganha o que faço??
@jmarlopes.2533
@jmarlopes.2533 Жыл бұрын
Gabaritei todos os "Code Smell" 😎 cadê as vagas?
@thyagobomfim4751
@thyagobomfim4751 3 жыл бұрын
Na verdade tem que fazer o código do seu jeito, ou seja, o jeito que da certo, ai mais pra frente no decorrer você vai corrigindo, e melhorando o código, tanto é que tem siatemas com mais de 10 versões.
@Kkadskk
@Kkadskk 3 жыл бұрын
Code smell eh o famoso debug humano kkk
@devwill
@devwill Жыл бұрын
No C# o ReSharper reina absoluto
@GabrielCasote
@GabrielCasote 3 жыл бұрын
sinto o cheiro dos meus codigos mesmo após apagar os arquivos, devo lavar o pc? rsrsrsrsrsrsr
@victorhugocamposbelo7557
@victorhugocamposbelo7557 3 жыл бұрын
Credo Para Elixir
@j.gleyson8351
@j.gleyson8351 3 жыл бұрын
Gostaria de ganha uma camisa e muito Massa
Serialização (Herói e/ou Vilão) // Dicionário do Programador
9:50
Código Fonte TV
Рет қаралды 16 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
CODE REVIEW (Como Essa Prática Funciona?) // Dicionário do Programador
13:40
SOLID (O básico para você programar melhor) // Dicionário do Programador
16:22
Rotina de Um Analista de Testes (QA)
9:28
Izac Jr.
Рет қаралды 20 М.
LOG (O dedo duro necessário dos sistemas) // Dicionário do Programador
9:51
Middleware (A "Cola" dos Softwares) // Dicionário do Programador
10:41
Código Fonte TV
Рет қаралды 27 М.
A MÁQUINA PERFEITA de BOLAS PERFEITAS
10:57
Manual do Mundo
Рет қаралды 205 М.
Scrum // Dicionário do Programador
17:19
Código Fonte TV
Рет қаралды 168 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.