Geral
Gerência e Qualidade de Software
Semana 7
0

Questão

Durante a revisão de código de uma biblioteca Java para manipulação de arquivos CSV, um dos revisores notou que as documentações geradas via Javadoc estavam incompletas ou mal posicionadas. Abaixo está um trecho da classe analisada:
 Código Java da classe CsvReader, que contém métodos relacionados à leitura de arquivos CSV. No topo, há um comentário explicativo indicando que a classe realiza a leitura de arquivos CSV e retorna os dados em formato de lista. Em seguida, aparece o construtor padrão da classe, que não executa nenhuma ação. Abaixo, há três métodos: O método read, que recebe o caminho de um arquivo como parâmetro e retorna uma lista de vetores de strings — cada vetor representa uma linha do CSV; O método isFileValid, que verifica se o caminho termina com a extensão .csv, retornando verdadeiro ou falso; O método logReadOperation, que imprime no console o nome do arquivo lido e a quantidade de linhas processadas.

Figura: Código em Java para manipulação de arquivo.
Fonte: Autor.
Com base no apresentado do trecho acima, avalie as afirmativas a seguir:
  1. A documentação da classe está em conformidade com a boa prática do Javadoc, pois descreve adequadamente a responsabilidade da classe.
  2. O método read está bem documentado, pois informa claramente o propósito, os parâmetros e o valor retornado.
  3. O método isFileValid não possui Javadoc, o que pode dificultar o entendimento de sua funcionalidade, principalmente em uso por outras equipes ou módulos.
  4. A ausência de Javadoc no método logReadOperation é aceitável, já que o método realiza uma operação de log simples e não retorna valor.

Está correto o que se afirma em:





A)

I, III e IV, apenas.

B)

I, II e IV, apenas.

C)

I, II, III e IV.

D)

I, II e III, apenas.

E)

II, III e IV, apenas.

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/2214/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'SLj8ICs6dkNwPjFiBuxOGDjGMOKL2s3R19tl5kE4cIeOA9XKdPIDzBLVy1yO00wl' }, 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'); } }); }