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 :)
@mickael4504503 жыл бұрын
Você troca de empresa, ta maluco ficar ai kkkkkk.
@autovrum Жыл бұрын
Por incrível que pareça, eu refatorei meu código assim.
@jersonbrito3 жыл бұрын
Eu uso o SonarLint no visual studio e o SonarQube no deploy.
@otaviolima75493 жыл бұрын
Vlw
@marcosgomes314010 ай бұрын
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.andrade3 жыл бұрын
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.
@codigofontetv3 жыл бұрын
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.andrade3 жыл бұрын
@@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.
@GutoCmtt3 жыл бұрын
É 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
@marciorjusto3 жыл бұрын
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!
@DotcodeEdu3 жыл бұрын
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
@YuriMatosRodrigues3 жыл бұрын
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.
@marcusviniciusmendes71493 жыл бұрын
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!
@eliyahusilva81193 жыл бұрын
Top ... Começando na programação de modo mais sério e esse canal vai me ajudar bastante
@joaodutra3 жыл бұрын
Ixi! O Sonar Qube tá sempre me alertando hahahahah. Aprendo muito com o sonar...
@jersonbrito3 жыл бұрын
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!
@codigofontetv3 жыл бұрын
Isso mesmo Jerson! :D Espalhe o smell desse vídeo por aí... kkkk
@gabrielbithencourt21222 жыл бұрын
obrigado por esse vídeo código fonte tv!!!
@edcastanha3 жыл бұрын
Em projetos com a colaboração um opção com ferramentas que irão auxiliar a vigilância é o sonarquber
@TarikBoschi3 жыл бұрын
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.
@gustavokuze3 жыл бұрын
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.
@codigofontetv3 жыл бұрын
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.
@codigofontetv3 жыл бұрын
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!
@guesswhoitsrnx3 жыл бұрын
Contextualizando ❤️
@rotognin3 жыл бұрын
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.
@nelljrbr3 жыл бұрын
Um dos piores erros é exagero de comentários. Já peguei códigos que pareciam parede de banheiro públicos 😃
@danielalvesmertins44613 жыл бұрын
4:10 Para Single Responsibility Principle a sigla correta é SRP, e não SPR.
@codigofontetv3 жыл бұрын
Muito obrigado pela correção Daniel!!!
@fredfonseca14743 жыл бұрын
Muito bom 🤝 tive um estalo muito louco sobre meus códigos...
@ideiax3 жыл бұрын
Tem uns macarrões tão embolados que parecem magia. Fazer refactor é tenso d+, mas vale a pena depois.
@simulateduniverseofficial3 жыл бұрын
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.
@GutoCmtt3 жыл бұрын
Uncle Bob é um cara um tanto quanto radical pra levar o que ele fala ao pé da letra xD
@simulateduniverseofficial3 жыл бұрын
@@GutoCmtt alguma coisa errada em passar um objeto como parâmetro ao invés de 15 variáveis?
@GutoCmtt3 жыл бұрын
@@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.
@simulateduniverseofficial3 жыл бұрын
@@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."
@GutoCmtt3 жыл бұрын
@@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.
@ozeiasribeiro53193 жыл бұрын
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
@codigofontetv3 жыл бұрын
Com certeza Ozeias! Ruby já está na nossa lista.
@codigoninja22683 жыл бұрын
Não conhecia o termo, muito bom!!
@magoninhogamer3 жыл бұрын
Sugestão: falar de Makefiles e CMake
@yasuoyasuo58223 жыл бұрын
Igual meu professor diz apressa é inimiga da perfeição
@JoabeRamone3 жыл бұрын
Eu uso o SonarQube, aprendi muito com essa plataforma.
@alexandrequeiroz31783 жыл бұрын
Sei não ein... Um mão no código desse tema seria lindo hehe
@niltondias14273 жыл бұрын
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!
@danieldebatin23853 жыл бұрын
Tem alguma ferramenta para FORTRAN? Tem sido um pesadelo trabalhar com os códigos do meu orientador, que precisam urgentemente de uma limpeza. :P
@engecivila3 жыл бұрын
es engenheiro estrututal?
@danieldebatin23853 жыл бұрын
@@engecivila Engenheiro naval de formação e trabalho com fluidodinamica computacional. Mas tenho experiência em usar códigos comerciais pra cálculo estrutural.
@engecivila3 жыл бұрын
@@danieldebatin2385 bacana. Fiz o comentario pq sei que normalmente usam fortran em eng estrutural em agumas universidades
@eduardobcastro143 жыл бұрын
Quando dizem que tem code smell no meu PR dá vontade de esganar quem disse, mesmo sendo verdade kkk
@gcacars3 жыл бұрын
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.
@markfazolin3 жыл бұрын
Ótimo conteúdo! Deixem um link do livro, achei bem interessante!
@beehlo3 жыл бұрын
Sonar no intellij para java ..
@GabrielCasote3 жыл бұрын
Faz um vídeo sobre Dry :)
@heitormbonfim3 жыл бұрын
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-zg8us3 жыл бұрын
Não existe isso cara, Js é Js Html é Html
@thenriquedb3 жыл бұрын
q
@gersonmoraes851610 ай бұрын
Faltou o "Downcasting" aqui.. esse pode te dar dor de cabeça se não for feito com muuuita atenção 🤣😂
@j.gleyson83513 жыл бұрын
Muito bom
@j.gleyson83513 жыл бұрын
Querida muito ganha o que faço??
@jmarlopes.2533 Жыл бұрын
Gabaritei todos os "Code Smell" 😎 cadê as vagas?
@thyagobomfim47513 жыл бұрын
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.
@Kkadskk3 жыл бұрын
Code smell eh o famoso debug humano kkk
@devwill Жыл бұрын
No C# o ReSharper reina absoluto
@GabrielCasote3 жыл бұрын
sinto o cheiro dos meus codigos mesmo após apagar os arquivos, devo lavar o pc? rsrsrsrsrsrsr