Geral
Gerência e Qualidade de Software
Semana 4
0

Questão

Qual é o objetivo da refatoração “extrair método”? 

A)

Usar uma variável temporária no lugar de uma atribuição a um parâmetro. 

B)

Transformar um fragmento de código que pode ser agrupado em um método cujo nome explique o seu propósito.

C)

Colocar o corpo de um método cujo nome é tão claro quanto seu corpo dentro do corpo do que o chama e remover o método. 

D)

Colocar o resultado de uma expressão complicada, ou partes da expressão, em uma variável temporária cujo nome explique o seu propósito.

E)

Substituir o corpo de um método por novo algoritmo que seja mais claro. 

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/142/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'vsJz0VNV1qGzG4ZeE1xbLBng5cdVs1eqzIlinrxBq66WRDRV6IaAs43b6fHSJ5nz' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }