roger-melo-treinamentos / curso-de-js-roger-melo

Repositório de informações do CJRM
491 stars 170 forks source link

Aplicação: WeatherApp #3662

Closed Kmkery closed 2 years ago

Kmkery commented 2 years ago

As cores da sua versão da aplicação são diferentes das cores da aplicação mostrada na aula?

Sim

A aplicação contém funcionalidades que não foram mostradas nas aulas?

Não

A aplicação contém features da linguagem que não foram mostradas nas aulas?

Não

Link do repositório da aplicação (ou pasta pública no Google Drive)

https://github.com/Kmkery/WeatherApp.git

Maiores dificuldades durante a implementação

Com relação ao código JS, acredito que desta vez não tive maiores dificuldades dentro do que eu tinha em mente a fazer, mas ainda me enrolo um pouco ao nomear funções e constantes de forma a deixar bem claro o que cada uma faz. A dificuldade maior foi mais com a parte CSS, no que diz respeito a ajustes de alinhamento.

Menores dificuldades durante a implementação

Fazer as requests e manipular os dados obtidos.

Roger-Melo commented 2 years ago

Olá @Kmkery.

Passando para dizer que visualizei a issue e em até 10 dias úteis a análise será feita =)

Roger-Melo commented 2 years ago

Olá @Kmkery!

Vou deixar a análise de sua Weather App aqui.

Se houver qualquer dúvida, é só dar o toque =)

Kmkery commented 2 years ago

Oi @Roger-Melo, Erika aqui... muito obrigada pela análise da aplicação, vendo sua explicação me senti como naquele meme da "mente explodindo" rs.

Realmente, na pressa deixei passar diversas questões de padronização (uso ou não de parênteses em parâmentro único, espaçamento entre linhas inconstante, aspas duplas ou simples etc), acabei me preocupando mais com o "funcionar" e esqueci de me atentar a isto.

Com relação aos nomes de parâmetros e argumentos, foi por contexto mesmo que acabei deixando diferente em alguns lugares, mas vou procurar deixar iguais daqui pra frente, pois como vc explicou, fica melhor de bater o olho e entender.

Sobre o return dentro de um if/else, eu estava testando a exibição da mensagem de "cidade não encontrada", tinha feito de um jeito e depois alterei e esqueci o return lá. Na verdade, esta parte do código resolvi colocar meio que por acaso. Quando estava testando o código, acabei digitando errado o nome da cidade e por causa do erro, achei que estava esquecendo algo no código para lidar com este caso, tanto que nem me passou pela cabeça testar da forma que vc fez (input vazio).

Na minha cabeça, o código como estava iria contornar "entradas não previstas"... (e nem eu mesma previ isso rsrs... bobeei!). Depois da sua observação, eu entendi que nesta condição eu simplesmente não estava passando o argumento requerido pela API AccuWeather (que é o nome de uma cidade, pois inputValue fica como string vazia), então a requisição não daria certo e não haveria resposta "iterável" (seria isso mesmo?). Uma dúvida, por que este tipo de situação não ativou status 404 (e consequentemente o catch) se teoricamente a url sem o nome de cidade fica inválida? Perdão se minha pergunta for de acomodada, não cheguei a pesquisar ainda sobre...

Vc comentou a respeito deste erro de input vazio, e andei pensando que, para contornar, eu colocaria uma condição, dentro da app.js, para verificar o valor de input para decidir se deve o fetch com a url obtida deve ou não ser realizado:

if ( !inputValue ) { 
    << executar uma mensagem avisando que deve digitar um nome >>
return
}
<< bloco de códigos para obtenção e manipulação dos dados via fetch >>

Sobre o refactoring proposto, sem dúvida ficou muito melhor separar em duas funções principais (renderização e obtenção de dados), muitíssimo mais organizado e otimizado. Tem muita coisa que ainda não consigo ver (como a atribuição do ternário a uma constante, nem me ocorreu que podia ter feito assim), agradeço muito mesmo pelas explicações e sugestões. Vou tentar alterar o código de acordo com todos os pontos que sugeriu.

Roger-Melo commented 2 years ago

Legal @Kmkery!

Fiz algumas considerações adicionais neste vídeo.

Desculpe por responder por vídeo ao invés de texto, é que estou com um pouquinho de tendinite no antebraço direito, então quando respondo em vídeo, sinto que digito menos =)

Kmkery commented 2 years ago

Oi @Roger-Melo, agradeço muito pelas explicações, obrigada mesmo! Desejo melhoras da tendinite, sei como é chato isso... e adorei as respostas em vídeo, facilitou bastante na hora de acompanhar a linha de raciocínio... Vou fazer as alterações indicadas e já já altero no repositório.

Roger-Melo commented 2 years ago

Legal! No que precisar, é só abrir uma nova issue =)