REFATOREI UM CÓDIGO REACT USANDO CLEAN CODE

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ส.ค. 2024
  • ✅ Maratona Explorer: Dê seus primeiros passos na programação.
    → Cadastre-se no link gratuitamente: rseat.in/marat...
    Todo ano eu seleciono devs que ainda não tiveram sua primeira oportunidade no mercado de trabalho para atuar como estagiário(a) aqui dentro da Rocketseat. É uma maneira de proporcionar uma primeira experiência profissional que, além de tudo, aplica nosso método de estudo (7-2-1) já comprovado por milhares de alunos.
    Nesse vídeo vou mostrar como foi o processo de análise e refatoração do código de um desses mentorados, que desenvolveu o projeto move.it desenvolvida no #NLW4 Vem comigo que vou mostrar o passo a passo de como eu desenvolveria esse projeto usando React.js.
    Acesso o repositório do move.it: github.com/roc...
    💜 Acompanhe a Rocketseat nas redes sociais:
    Twitter: @rocketseat
    Facebook: @rocketseat
    Instagram: @rocketseat_oficial
    Linkedin: @rocketseat
    🎧 Nos ouça também no Spotify:
    - Podcast Faladev

ความคิดเห็น • 204

  • @viniciuspjardim
    @viniciuspjardim 2 ปีที่แล้ว +167

    Caso o cronometro necessite de precisão, usar o setTimeout para medir o tempo não é a melhor forma. O setTimeout não garante que a função seja chamada exatamente no tempo especificado. Ela pode ser chamada depois caso outra função esteja sendo executada no momento. Chamar o setTimeout dessa forma pode ir acumulando erro a cada segundo.
    Uma alternativa seria guardar no state a data de início do cronometro usando um Date e a cada iteração calcular o tempo decorrido dessa data. Lembrando que o Date tem precisão de até milissegundo.
    O setTimeout seria usado apenas para atualizar a interface. O cálculo do tempo decorrido poderia ser feito subtraindo a data de agora com a data de início. Dessa forma mesmo que o setTimeout tenha passado mais de um segundo o tempo decorrido vai refletir exatamente isso. Ele será o tempo exato entre as duas datas.
    Inclusive com essa alternativa ficaria fácil exibir os milissegundos. Seria só chamar o setTimeout a cada 200 ms, por exemplo e adicionar os milissegundos na interface. Da forma do vídeo não daria para chamar o setTimeout a cada milissegundo pra ir decrementando.
    Claro que o Diego fez assim pra simplificar, mas só deixando o comentário aqui como curiosidade.

    • @adryelbarros3250
      @adryelbarros3250 2 ปีที่แล้ว +10

      Lembro que nessa NLW eu percebi o mesmo problema, e é pior ainda quando vc vai pra outra aba do navegador
      O timeout de 1 segundo pra janela em background demorava tipo, bem mais de um segundo, lembro que comparei com o cronômetro do celular e tava perdendo de um a dois segundos a cada 20, mais ou menos
      Eu fiz desse jeito que vc falou, de salvar o tempo inicial, mas isso acabou dando um outro problema (que eu acabei não conseguindo resolver sem uma gambiarra)
      O que acontece é que, como o timeout de 1 segundo não executa a cada 1 segundo, tem uma diferença entre a passagem de segundos na atualização da interface e o tempo em si
      Na interface acabava ficando no mesmo segundo por dois segundos e dps atualizando de uma vez (resolvi isso colocando um valor menor no timeout, tipo, 100ms, pra compensar esse erro, mas isso acaba executando muito mais coisa do que o necessário)

    • @verttt_
      @verttt_ 2 ปีที่แล้ว +6

      @@adryelbarros3250 desacoplar a parte que atualiza o valor da data para uma função que faça apenas isso, então seu timeout tocará apenas em executar a função e atualizar os valores na tela

    • @danielmello1993
      @danielmello1993 2 ปีที่แล้ว +3

      Perfeita colocação, Vinícius!

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว +18

      Boooooooa, mandou muito!

    • @brasilpowergames
      @brasilpowergames 2 ปีที่แล้ว +1

      Eu não sou nenhum especialista em JS, mas tinha pensado isso também.
      Logo no começo do vídeo, como eu não estava com o PC, pausei para pensar como eu faria. Eu pensei algo assim;
      Pegar a data atual com new Date().getTime() que retornaria o valor em ms, então somar com o valor do timer para saber quando a contagem iria terminar.
      Tendo isso, a cada setTimeout, eu calcularia o estado atual da contagem subtraindo o valor do final da contagem menos o now.

  • @lucaslima7759
    @lucaslima7759 2 ปีที่แล้ว +42

    É tão satisfatório quando voce vê o video e entende TUDO que está sendo feito. Sensaçao de que seu esforço está valendo a pena 😭

  • @felipematheus3691
    @felipematheus3691 2 ปีที่แล้ว +21

    Diego você é um cara excepcional, imagino a felicidade desses programadores em ter você como mentor. As vezes a forma como você fala conta muito pra quem tá começando. E o bom educador não é aquele que chega e fala "faz melhor", mas sim aquele que pega e fala "deixa eu te ensinar como ser melhor". Isso faz toda diferença e por isso te admiro tanto.

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว +3

      Poxa, obrigado demais pelo comentário!

  • @rafaeljuniorize
    @rafaeljuniorize 2 ปีที่แล้ว +41

    Diegao é uma pessoa incrivel. Ainda bem que existem pessoas assim pra nos inspirar e fazer acreditar que vale a pena estar nesse mundão

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Poooow, obrigado

  • @juniormartinxo
    @juniormartinxo 2 ปีที่แล้ว +186

    Só um aditivo, 250000ms = 250s, aproximadamente 04min10s ☺️

    • @ViniciusVille
      @ViniciusVille 2 ปีที่แล้ว +9

      Agora fica a dúvida... porque o cara escolheu esse valor muito aleatório?! kkkkk

    • @erykfontes267
      @erykfontes267 2 ปีที่แล้ว +3

      @@ViniciusVille Ele deveria ao menos comentar no código ksksksksksk

    • @sooslokosvivem
      @sooslokosvivem 2 ปีที่แล้ว +16

      Ele deve ter achado q era 25 min

    • @personagenscantandoraps
      @personagenscantandoraps 2 ปีที่แล้ว +2

      ele pode ter conseiderado que 1min = 10s, (porque quase todas as unidades seguem essa padrão DECImal, e o tempo é uma exeção, ent é facil confundir)

    • @victortaveirarodrigues8032
      @victortaveirarodrigues8032 2 ปีที่แล้ว

      porquê 25 minutos é um valor recomendado de produtividade da técnica Pomodoro

  • @andremelo7254
    @andremelo7254 2 ปีที่แล้ว +3

    Diego eu sou Dev a 10 anos e nunca vi ninguém ensinar da forma que vc ensina, sua didática é muito boa, sempre colocando a mão na massa mesmo, meu primeiro contato com vcs foi agora que o NLW Return indicação de um amigo, e estou achando demais. Parabéns pelo seu trabalho.

  • @gabrielbugarelli
    @gabrielbugarelli 2 ปีที่แล้ว +22

    Primeira vez que vejo Diego digitar menos de 50 dígitos por segundo. E isso foi sensacional!

    • @fabricio6586
      @fabricio6586 2 ปีที่แล้ว +1

      Sim mano ele já digitava rápido agora com esse macbook novo mesmo nem carro de formula um alcança. kkkkkkkk

    • @JulioDevUnreal
      @JulioDevUnreal 2 ปีที่แล้ว

      @@fabricio6586 kkkkkk

    • @carlacp8230
      @carlacp8230 ปีที่แล้ว

      a babação de ovo é mais rápida ainda

  • @welingtonwel8799
    @welingtonwel8799 2 ปีที่แล้ว +1

    Eu gosto de aprender sozinho porque nao tenho paciencia em assistir video aulas, o diegão e o unico que me prende na tela e assistir seus videos. muito bom conteudo

  • @rhalfoliveira
    @rhalfoliveira 2 ปีที่แล้ว +1

    Esse fig, que lindo cara!!

  • @ursochurrasqueira
    @ursochurrasqueira 2 ปีที่แล้ว +9

    uma coisa que passou batido, é sempre importante "limpar" o setTimeout/setInterval que foi invocado no useEffect
    supondo que o usuário saísse da página de pomodoro faltando 1 min e fosse pra de página perfil, depois de 1 min o timeout executaria o setState que possivelmente já saiu da memória e ocasionaria num erro

  • @protagonistastech
    @protagonistastech 2 ปีที่แล้ว +9

    Aaaaaah primeira aparição de um membro do EC no vlog! Amei 🤗🎩

  • @gabz3309
    @gabz3309 ปีที่แล้ว

    eu nem comecei a estudar react ainda e entendi esse vídeo perfeitamente. sua didática é ótima, mano. parabéns!

  • @guilhermetrocatti1873
    @guilhermetrocatti1873 2 ปีที่แล้ว +5

    Muito legal ter usado fail-first e/ou return-first, isso evita muita cascata de else e diminui muito a complexidade cognitiva, além de evitar a execução de código que seria inútil... Topzera!

  • @bpuzoni
    @bpuzoni 2 ปีที่แล้ว +3

    Quem fez a NLW04 de React/Next lembra bem dessa lógica de countdown!

  • @PedroHenriqueTSI
    @PedroHenriqueTSI 2 ปีที่แล้ว +4

    Ótimo conteúdo pessoal, curtindo bastante esse novo modelo 😍🚀

  • @welly7973
    @welly7973 2 ปีที่แล้ว +1

    adorei esse formato descontraído e mesmo assim passou os conhecimentos, gostaria de mais desses conteúdos 🤝🤌

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Valeu Welly!

  • @kaiophillipe6004
    @kaiophillipe6004 2 ปีที่แล้ว +3

    Esse state => state é importantíssimo. Para a performance e warnings no console.

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว +2

      Demais, quero fazer um vídeo só falando sobre closures e como isso funciona no React :)

    • @kaiophillipe6004
      @kaiophillipe6004 2 ปีที่แล้ว

      @@dieegosf boaaa.. Voaa 🚀

  • @vikstu6816
    @vikstu6816 2 ปีที่แล้ว

    Nossa como enrolei para assistir isso e no final era super tranquilo kkkk! Valeu pelo vídeo, eu estou nesse ponto de procurar mais sobre como melhorar códigos que já funcionam... Tanto legibilidade, quanto eficiência

  • @stan9527
    @stan9527 ปีที่แล้ว

    parabens diegon tu é o unico bixo que eu nao preciso colocar no 2.0 pra estudar, obrigado.

  • @danilo_teixeira
    @danilo_teixeira 2 ปีที่แล้ว +3

    Não sei se alguém citou, mas também existe o método Math.trunc(), que ignora as casas decimais e retorna apenas o número inteiro, também iria servir para o exemplo.

  • @JosueWalisson
    @JosueWalisson 2 ปีที่แล้ว

    Eu nunca te vi analisando um código iniciante. E agora posso dizer com certeza da humildade e maestria que você tem! Com certeza não chegou onde está agora à toa. Parabéns!

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว +1

      Obrigado Josué

  • @italogdm
    @italogdm 2 ปีที่แล้ว +2

    Massa esses vídeos estilo vlog. Faz mais ae

  • @reginaldoboeke871
    @reginaldoboeke871 2 ปีที่แล้ว +3

    Alternativa para screenshot no Linux: Flame Shot
    Bem parecido com esse que o Diego apresentou.

  • @ezequiel9707
    @ezequiel9707 2 ปีที่แล้ว

    Muito bom. Diego queria sugerir para voce fazer uns videos de curtos, por exemplo uns shorts mais ou menos iguais a esse, só que monstrando coisas especificas mais avançadas, entre 10 e 30 minutos... Seria bom demais. Abraço

  • @carlos50965
    @carlos50965 2 ปีที่แล้ว +1

    Muito show Diegão, mesmo já tendo conhecimento consegui captar vários insights para aplicar no dia a dia! Valeu ótimo vídeo

  • @nathantorquato9777
    @nathantorquato9777 2 ปีที่แล้ว +1

    Baita approach, Diego! Top essa atitude de não criticar negativamente mas sim de forma construtiva e com consideração.

  • @rafaelmindicelo1178
    @rafaelmindicelo1178 2 ปีที่แล้ว

    E eu que nem de frontend sou, mas to aqui curtindo demais seu vídeo! hahaha fera demais

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Hahahahah que massa, Rafael!

  • @JProtheusOFFICIAL
    @JProtheusOFFICIAL 2 ปีที่แล้ว

    esse tipo de conteudo é mt massa, da ate pra tirar algumas visoes de leitura de codigo e logica que as vzs nao tive.

  • @elianespsilva
    @elianespsilva 2 ปีที่แล้ว

    Top!!
    Amei a sua análise e estratégia!
    Esse tipo de vídeo nos ajuda a rever os conceitos e reavaliar nossas estratégias!!
    Parabéns!! Já Quero mais!!

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Obrigado Eliane!!

  • @acm.marques
    @acm.marques 2 ปีที่แล้ว

    Nossa aprendi muito hoje e já parti para 70% 20% 10% criei no expo o CountDown.
    Algumas vezes queria ter a mente do Diego para me ajudar em horas de sufoco...

  • @Felipe-dd8sh
    @Felipe-dd8sh 2 ปีที่แล้ว

    Seria muito massaaa um vlog como esse realizando um projeto de debugging de um projeto. Fica a sugestão!

  • @vitorpereira7606
    @vitorpereira7606 2 ปีที่แล้ว

    Por mais vídeos assim! Aprendi muito com essa refatoração, Diegão manda muito!

  • @rafacapoci1757
    @rafacapoci1757 ปีที่แล้ว

    Esperava um video de clean code, recebi um de dicas para mac kkkkkkk.

  • @fernandoaugusto8394
    @fernandoaugusto8394 2 ปีที่แล้ว

    Mano, que vídeo FO#!@ !!
    Parabéns pela contribuição para comunidade !
    Gostaria muito de ver um vídeo sobre algo correspondende às ferramentas apresentas, porém no windows.
    Valeuu !

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Obrigado Fernando, infelizmente uso pouquíssimo o Windows pra conseguir te indicar algo.

  • @ctenonam4
    @ctenonam4 2 ปีที่แล้ว

    Eu adoraria que o Diego fizesse esse tipo de refatoração com meus códigos XD

  • @BrocchiRodrigo
    @BrocchiRodrigo 2 ปีที่แล้ว

    Sou fã desse cara, projeto massa eim mano!

  • @samuelcustodiodasilva4470
    @samuelcustodiodasilva4470 2 ปีที่แล้ว

    Esses videos estilo vlog dele é mt bom

  • @ricardocoder
    @ricardocoder ปีที่แล้ว

    • Muito interessante, e massa essa refatoração 🔥

  • @kimfrana6873
    @kimfrana6873 2 ปีที่แล้ว

    Muito boa essa aula, já mandei pro pessoal do grupo de estudos. Deve ser uma experiência incrível ter você como tutor. Esse seu projeto de ensinar alguém é algum projeto social seu, Diego?
    Acho muito legal esse formato de vídeo fora de estúdio e lidando com coisas do dia a dia. Acompanho a Rocket a um tempo e vocês sempre tão buscando evoluir na proposta de vocês, parabéns.

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Isso, é um projeto meu que sigo querendo executar cada vez com mais pessoas. Só não faço mais pelo tempo que preciso dedicar para essas pessoas :)

  • @sileo1149
    @sileo1149 ปีที่แล้ว

    Faz música diegão ? Vi uma scarlett ali hein ! ótimo vídeo

  • @jeffersonfelixdev
    @jeffersonfelixdev 2 ปีที่แล้ว

    Que massa! Vou colocar meu código do jogo da velha em C++ que eu fiz há 20 para refatorar kkkk

  • @victorlongon
    @victorlongon 2 ปีที่แล้ว

    Eu acho que pra melhorar mais ainda vc teria que ter criado uma variável pra armazenar timeout e qdo o valor chegar a zero vc chamaria clearTimeout com o timeout e tbm no useEffect como clear function (a função q vc retorna no effect). Isso pra garantir q caso o componente seja "desmontado" o timeout tb seja cancelado

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Boa, dá pra melhorar muito sim!

  • @maykelsantos5501
    @maykelsantos5501 2 ปีที่แล้ว

    Tenho alguns em java e em C, na época em que comecei a programar,. Eram bem pra iniciantes mesmo, gostaria de ver eles na live pra demonstrar como se sairiam hoje.

  • @mekimilan
    @mekimilan 2 ปีที่แล้ว

    Pra adicionar sobre o software de multitool de screenshot, tem tambem o ShareX

  • @thiagonunesmiziara6866
    @thiagonunesmiziara6866 2 ปีที่แล้ว

    Meu sonho uma call com o Diego pra ele me guiar no que tenho que evoluir!

  • @fellipeemanoel3040
    @fellipeemanoel3040 2 ปีที่แล้ว

    Dica boa demais de ferramentas Diegao!!!

  • @mathsena007
    @mathsena007 2 ปีที่แล้ว

    Diego é mestre!

  • @evandrogibicoski
    @evandrogibicoski 2 ปีที่แล้ว

    Show, Diego! Vc é demais cara :)

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Obrigaaaaado

  • @LeandroSantiagoGomes
    @LeandroSantiagoGomes 7 หลายเดือนก่อน

    Normalmente a única coisa que é válida no cleancode é quando você tem um projeto e as entidades tem nomes específicos. ex: "Person" para "Pessoa". Uma pessoa terá um "CPF" ou "CNPJ" e não há uma tradução global única para esse tipo de sigla ou referência.

  • @felipebutcher
    @felipebutcher 2 ปีที่แล้ว

    o problema de usar o setTimeout é que a próxima interacao vai comecar depois que a primeira acaba. entao se o codigo pra reduzir o amount demorar 0.001 segundo, a interacao toda vai ter 1.001 segundo, e nao 1 segundo exato. sei q a diferenca é minima mas como queremos fazer um countdown, o certo sao os 25 segundos serem exatos.
    o setInterval vai comecar cada interacao exatamente a cada 1 segundo. assim no final dele terao passados exatamente 25 segundos, e nao 25.0025

  • @LuanHenrique-pc3nn
    @LuanHenrique-pc3nn 2 ปีที่แล้ว

    O Diego é mt impressionante mds

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Osh, obrigado

  • @EmilioDvilela
    @EmilioDvilela 2 ปีที่แล้ว

    testa o lightshot... tem para windows e mac... muito bom.. e acho mais pratico que o cleanshot

  • @ngungadev
    @ngungadev 2 ปีที่แล้ว

    🙂🙂🙂 aprendi muita coisa neste vídeos!! parabéns

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Que bom!!

  • @maicongavazzoni2112
    @maicongavazzoni2112 2 ปีที่แล้ว

    Velhos, já sou dev a algum tempo e sempre que preciso de lógicas com timer ou tempo é sempre um quebra cabeça, mas tive uma experiência com timer que precisava de restart do cronometro quando dava refresh da tela ou reiniciava o sistema ou simplesmente minimizava o navegador usando um técnica chamada worker nativa do javascript.

  • @sirlucasm
    @sirlucasm 2 ปีที่แล้ว

    mt bom conteúdo e dostei demais da ideia de video tipo daily vlog

  • @igoroliveira3015
    @igoroliveira3015 2 ปีที่แล้ว

    Esses vlogs estão maneiros demais :D

  • @BrunoBourne2012
    @BrunoBourne2012 2 ปีที่แล้ว

    Vídeo foi tão maneiro que quando eu comecei a ver eu tava com aquele pensamento "vou pôr na playlist assistir mais tarde" mas aí fui assistindo e assistindo e quando me dei conta, o vídeo já tinha acabado kk

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว +1

      Hahahahahahaha acontece, igual os vídeos da galera construindo casas no meio da floresta apenas com gravetos!

  • @vitorgouveia5378
    @vitorgouveia5378 2 ปีที่แล้ว

    Diego me leva e me ensina railroad error handling por favor😩😩😩
    Brincadeiras a parte, vídeo muito bom

  • @omouravictor
    @omouravictor 2 ปีที่แล้ว

    Melhor formato de vídeo

  • @professorcalvete
    @professorcalvete 2 ปีที่แล้ว +3

    Gostaria de saber se vocês pegam pessoas acima dos 50 anos que nunca programou... Ando muito de aplicativo 99 e Uber e todos me perguntam porque não tem pessoas que podem ensinar a programar.

  • @danielfs
    @danielfs 2 ปีที่แล้ว +11

    Poderia compartilhar onde você geralmente descobre essas ferramentas para macOS?

    • @mickael450450
      @mickael450450 2 ปีที่แล้ว +1

      Isso é no dia a dia. Muito das coisas que ele usa ele da uma star no GitHub. So seguir ele la

  • @gabrielperuchi6462
    @gabrielperuchi6462 2 ปีที่แล้ว

    Muito massa esse estilo de vídeo!

  • @eduardorodriguesreichert8349
    @eduardorodriguesreichert8349 2 ปีที่แล้ว

    Se vocês tem projetos react native (versões abaixo de 0.60.x) ou flutter em seus macs não instalem o Fig. A principio pareceu lindo e mágico mas com o 2 dias de uso meus projetos começaram a dar problemas na hora que tentava dar build ou start para instanciar no simulador.
    Gostei das dicas dos outros apps mas esse FIG só me deu dor de cabeça =T

  • @estudantedeti91
    @estudantedeti91 2 ปีที่แล้ว

    No cron já tinha um spoiler do reality hasuhasuhs

  •  2 ปีที่แล้ว

    Sensacional 👏🏻

  • @itxToledo
    @itxToledo 2 ปีที่แล้ว

    Me chama pra ensinar sobre smart contracts 😊

  • @dev.daniels
    @dev.daniels 2 ปีที่แล้ว

    Faz um hook de event listener com typescript!

  • @plusnascimento4537
    @plusnascimento4537 2 ปีที่แล้ว

    Muito bom o vídeo 👏👏👏

  • @danielvinicius4906
    @danielvinicius4906 2 ปีที่แล้ว

    Na parte do % e padEnd não sabia que existia, seria legal um vídeo falando sobre o % não entendi muito bem o que ele fez.

    • @iujiujisato807
      @iujiujisato807 2 ปีที่แล้ว

      o operador de % (remainder operator) é usado para retornar o resto de uma divisão, então por exemplo 10 % 3 retornaria 1

  • @Pawl0solidus
    @Pawl0solidus 2 ปีที่แล้ว

    Se topar refatorar tenho um jogo feito em javascript e a lib Phaser.

  • @davidrocky
    @davidrocky 6 หลายเดือนก่อน

    Mas vem cá Diego, esse setTimeout não vai acumular a cada update não???

  • @alexandrerocha7918
    @alexandrerocha7918 2 ปีที่แล้ว

    Utilidade publica, somente começa a refatorar msm no 16:30

  • @arcd5875
    @arcd5875 2 ปีที่แล้ว

    Achei que tava jogando watch dogs 14:40

  • @matheussunderhus
    @matheussunderhus 2 ปีที่แล้ว

    Aquela tosse pós Covid uahsuahsuhas. Ótimo conteúdo.

  • @thomasjardanedeoliveirabou9993
    @thomasjardanedeoliveirabou9993 2 ปีที่แล้ว

    Cara, com que você descobre esses apps?

  • @rianmendes7349
    @rianmendes7349 2 ปีที่แล้ว

    Quando vai volta os cursos de programação?

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Você diz os NLW, em breve volta aqui :)

  • @thejuliorodx
    @thejuliorodx 2 ปีที่แล้ว

    Qual seria a melhor abordagem caso eu tivesse botões: Start, Stop e Reset?

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Manter um estado chamado isActive e dentro do useEffect verificar se esse estado está como true, dai manter rodando, se não, simplesmente ignorar. No caso do reset precisamos apenas voltar os segundos para o valor inicial ali no estado.

  • @g.andrei04
    @g.andrei04 7 หลายเดือนก่อน

    Ideia de refatoração do video, retirar essa parte de curiosidades do mac e ir direto pro clean code

  • @Gmaaa
    @Gmaaa 2 ปีที่แล้ว

    ixi, essas mesas não estão no padrão da NR17.

  • @Matheus-qv7yw
    @Matheus-qv7yw 2 ปีที่แล้ว

    muito bom!!

  • @josemargoncalves1532
    @josemargoncalves1532 2 ปีที่แล้ว

    Quero aprender a programar

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว

      Entra no Discover rocketseat.com.br/discover

  • @darlonhenrique7642
    @darlonhenrique7642 2 ปีที่แล้ว

    Pq quando o Diego clara a const "countdown initial time in seconds" ele declara tudo em maiúscula e usando sneaker_case convention?

    • @felipeaugustorodriguesnune5637
      @felipeaugustorodriguesnune5637 2 ปีที่แล้ว +1

      Porque essa é uma convenção pra declarar constantes globais e imutáveis (algo que sempre terá aquele valor em todas as fases da aplicação)

  • @wesleyluiz7705
    @wesleyluiz7705 2 ปีที่แล้ว

    Muito bom, duvido refatorar um código meu kkkkkkk

  • @sucorrea
    @sucorrea 2 ปีที่แล้ว

    Muito bom

  • @vagnereix
    @vagnereix 2 ปีที่แล้ว +1

    Como funciona pra conseguir trabalhar na sede do Google como o Diego sempre curte fazer? 😄 Não é qualquer dev que consegue, é?

    • @FelipeRibeiroguitar
      @FelipeRibeiroguitar 2 ปีที่แล้ว +1

      ele não esta no google, esta no cubo Itaú, é um local para aceleração de startups e network, semelhante ao Google for startups, não sei como funciona no cubo, mas no google pode ir qualquer um, basta preencher um formulario no site do google for startups

    • @vagnereix
      @vagnereix 2 ปีที่แล้ว

      @@FelipeRibeiroguitar muito obrigado!

    • @iujiujisato807
      @iujiujisato807 2 ปีที่แล้ว

      @@FelipeRibeiroguitar O Cubo é um coworking, a empresa precisa passar uma entrevista e depois pagar mensalmente o número de cadeiras

  • @lohanguedes9181
    @lohanguedes9181 2 ปีที่แล้ว

    Então, quanto aos apps de calendário e reuniões n sei. mas no Linux o zsh+zinit faz isso com muita facilidade!
    (Fiquem longe do ohmyzsh)

    • @lucasarcanjo
      @lucasarcanjo 2 ปีที่แล้ว

      Por que ficar longe do ohmyzsh?

  • @luisasydio1582
    @luisasydio1582 2 ปีที่แล้ว

    Sugestão: inventário de rpg tipo o do minecraft. Com Drag and drop

  • @rogeriomq
    @rogeriomq 2 ปีที่แล้ว +1

    Essa ferramenta de captura me lembra do FlameShot, quando eu estava usando linux, para linux ainda não achei um melhor. xD

  • @gustavo10destroyer
    @gustavo10destroyer 2 ปีที่แล้ว

    1 setInterval vs. 1500 setTimeout...
    Você poderia só ter usado o setInterval...

  • @henriquebarros8303
    @henriquebarros8303 2 ปีที่แล้ว

    Diego... paga para mim $$$$
    HAHAHA

  • @pedroalquimim
    @pedroalquimim 2 ปีที่แล้ว +1

    Qual tema o diego está usando no vs code?

  • @Dipblue
    @Dipblue 2 ปีที่แล้ว

    Gatinho 🐱

  • @wollyverkk2263
    @wollyverkk2263 2 ปีที่แล้ว

    Daria para usar o RETURN do useEffect para verificar se o valor do secondsAmount é igual a 0.
    ou não?

    • @GizBranco97
      @GizBranco97 2 ปีที่แล้ว

      tu pode usar uma expressão, secondsAmount == 0 && return...

  • @mateuspamaral00
    @mateuspamaral00 2 ปีที่แล้ว

    tu é mt bom kkkkkkk

  • @luisfcodes
    @luisfcodes 2 ปีที่แล้ว

    Fala galera, muito bom o vídeo, fiquei só com uma dúvida, no uso do uppercase para declarar a const dos segundos iniciais, é alguma convenção/regra?

    • @decovitorio
      @decovitorio 2 ปีที่แล้ว +2

      Sim. É uma convenção bem comum. Se tratando de constantes com valores explícitos e imutáveis como no caso do exemplo. Algo q sempre vai ter aquele valor durante todo ciclo da aplicação.

    • @luisfcodes
      @luisfcodes 2 ปีที่แล้ว

      @@decovitorio perfeito sua explicação, muito obrigado 👊🏻

  • @sandisq
    @sandisq 2 ปีที่แล้ว

    Falaa Diego! Qual é a versão e o ano do seu MAC?

    • @dieegosf
      @dieegosf 2 ปีที่แล้ว +1

      Mac M1 Max 2021.

  • @henrique_e_nas
    @henrique_e_nas 2 ปีที่แล้ว

    diego, e você?
    quando tu vais ter mentoria pra aprender a ser estiloso ?
    vai lá na zara rapá kkk brinks ta amigo

  • @rasdokuntsunori2253
    @rasdokuntsunori2253 2 ปีที่แล้ว

    video ta muuuito bom. Só faltou vc beber uma aguinha pra n ficar esse barulho de boca colando que acaba dando uma agoniadinha

  • @ThugLifeModafocah
    @ThugLifeModafocah 2 ปีที่แล้ว

    oxi... pra que dar o nome da constante e depois o comentário? Era só dar o nome de COUNT_DOWN_TWENTY_FIVE_MINUTES.

  • @andreaugusto3851
    @andreaugusto3851 2 ปีที่แล้ว +3

    Se alguém puder responder, pq o curso de NodeJS no Ignite é todo feito com classes e não usando paradigma funcional ? To meio que quebrando a cabeça pq fiz vários cursos de NodeJS e todos fizeram API de forma totalmente diferente da feita no Ignite, isso está me deixando confuso.

    • @franciscomenezes6970
      @franciscomenezes6970 2 ปีที่แล้ว +5

      Porque o IGNITE nao está te passando apenas conhecimento de NodeJs. No IGNITE você tem um curso de programação Orientada objetos, com Solid, TDD entre outros, é completo amigo.
      Se fosse só para executar métodos com funções não atenderiam para os conceitos acima passados. Na minha opinião é isso e acho fantástico. Aprendi mais do que na minha graduação logo se acostuma!

    • @andreaugusto3851
      @andreaugusto3851 2 ปีที่แล้ว

      @@franciscomenezes6970 Sinto muito que sua graduação foi superada por um curso de 36 horas :(, mas se o curso ajudou então tudo bem.

    • @lucasfelix7788
      @lucasfelix7788 2 ปีที่แล้ว

      @@franciscomenezes6970 excelente colocação. No ignite você aprende arquitetura, padrões de projeto, solid, etc. De uma forma que é aplicável no mercado visando maior escalabilidade. Eu sinceramente acho que ele é um ótimo curso.

    • @franciscomenezes6970
      @franciscomenezes6970 2 ปีที่แล้ว

      @@andreaugusto3851 nao quis dizer que é melhor do que uma graduaçao longe disso so quis dar um exemplo para tentar ajudar na sua pergunta, desculpe se não era o que gostaria de ouvir!

    • @raulrothschild5876
      @raulrothschild5876 2 ปีที่แล้ว

      @@andreaugusto3851 huaehuehuahuehue sim, com certeza. Poem o curso de 36hrs no github e portifolio e espera sentadinho :)