Imagem de fundo

Ao revisar um trecho de código de um colega, um professor de linguagem computacional se...

Ao revisar um trecho de código de um colega, um professor de linguagem computacional se depara com a seguinte situação:


def process data(input):

data = []

for i in range(len(input)):

if input[i] > 0:

data.append(input[i] * 2)

total = 0

for x in data: total += x

avg = total / len(data) if data else 0

result = []

for val in data:

if val > avg: result.append(val)

return result


Considerando as boas práticas de programação, qual alternativa descreve a melhor abordagem para refatorar esse código?


A

Apenas melhorar os nomes das variáveis e adicionar comentários explicando cada seção do código.


B

Manter a estrutura atual, mas adicionar tratamento de exceções para divisão por zero no cálculo da média.


C

Combinar todos os loops em um único loop para melhorar a eficiência, mesmo que isso torne o código mais complexo.


D

Converter o código para uma linguagem de programação mais eficiente, como C++, em vez de modificar a versão em Python.


E

Dividir o código em funções especializadas com nomes descritivos, substituir loops complexos por compreensões de lista e adicionar um docstring.