Questão 66760

Tecnologia da Informação · 2025

Questão

ID 66760

Disciplina: Tecnologia da Informação

Assuntos: Coesão, Acoplamento e Modularidade, Python

Ano: 2025 Banca: PERFIL - ENADE Órgão: Segundo Simulado Pnd


Uma professora de programação para iniciantes está ensinando sobre funções e a importância de escrever código modular e reutilizável. Ela observa que seus alunos tendem a escrever scripts longos e monolíticos, copiando e colando trechos de código em vez de encapsulá-los em funções. Para demonstrar os benefícios da refatoração e do uso de funções, ela apresenta um trecho de 'Refactoring: Improving the Design of Existing Code' de Martin Fowler: "Um dos 'maus cheiros' (code smells) mais comuns em código é o 'Código Duplicado'. Se você vê o mesmo trecho de código em mais de um lugar, este é um sinal claro de que você deve extrair esse código para sua própria função. A duplicação é ruim porque se você precisar mudar a lógica, terá que se lembrar de mudá-la em todos os lugares. Se você esquecer um, introduzirá um bug sutil. Ao extrair o código para uma função, você cria uma 'fonte única da verdade'. A lógica existe em um só lugar, tornando o código mais fácil de entender, manter e depurar." A professora então apresenta um script Python que calcula a área e o perímetro de três retângulos diferentes, com o código de cálculo repetido três vezes:

```python # Retângulo 1 largura1 = 10 altura1 = 5 area1 = largura1 * altura1 perimetro1 = 2 * (largura1 + altura1) print(f"Retângulo 1: Área={area1}, Perímetro={perimetro1}") # Retângulo 2 largura2 = 7 altura2 = 3 area2 = largura2 * altura2 perimetro2 = 2 * (largura2 + altura2) print(f"Retângulo 2: Área={area2}, Perímetro={perimetro2}") # Retângulo 3 ... ```

A tarefa dos alunos é refatorar este código usando funções.

Qual das seguintes opções representa a melhor refatoração do código, aplicando o princípio de extrair o código duplicado para funções?

Alternativas da questão 66760
Pular para o conteúdo principal