Troquei o innerHTML por innerText pois o innerHTML pode não passar em projetos com sonnar por constar como vulnerabilidade.
Fiz um pouco diferente as funções tbm mas no final chegou ao resultado.
https://github.com/amd-lima/Fokus
Troquei o innerHTML por innerText pois o innerHTML pode não passar em projetos com sonnar por constar como vulnerabilidade.
Fiz um pouco diferente as funções tbm mas no final chegou ao resultado.
https://github.com/amd-lima/Fokus
Oi, Amanda.
Parabéns pela iniciativa de olhar para o código com foco em segurança. Você tocou em um ponto muito importante sobre o desenvolvimento front-end. O uso do innerText (ou textContent) em vez do innerHTML é uma excelente prática para evitar ataques de Cross-Site Scripting (XSS).
Quando usamos innerHTML, o navegador interpreta qualquer texto dentro da string como código HTML. Se houver algo malicioso vindo de uma fonte externa, ele pode ser executado. Com innerText, o navegador trata tudo estritamente como texto puro, neutralizando esse risco.
Aqui estão alguns pontos interessantes sobre como você estruturou sua lógica:
innerHTML como um alerta de segurança. Substituí-lo mostra que você está pensando além da funcionalidade e focando na qualidade técnica do projeto.innerText para os títulos e appendChild para reintegrar o elemento strong, você garantiu que a estrutura visual fosse preservada sem abrir brechas de segurança.Você organizou bem a lógica de troca de temas dentro do switch. Uma pequena sugestão para deixar o código ainda mais limpo seria concentrar as strings de texto em um objeto de configuração, mas a forma como você fez com o switch é perfeitamente clara e funcional.
Você está no caminho certo ao se preocupar com as mensagens do Sonar e com a integridade do seu código. Continue com essa mentalidade de buscar alternativas mais seguras para as funções padrão.