Pular para o conteúdo
Próxima aulaGerenciamento de Dependências

Exercício 01 - Código Sujo

Você encontrará trechos de código escritos de forma propositalmente suja ou pouco clara.

Para cada exemplo, responda:

  1. Qual é o propósito geral do código?
  2. Como ele funciona, passo a passo?
  3. Quais os problemas de legibilidade ou manutenção que você identifica no código?

Não se preocupe em corrigir ou refatorar neste momento. O foco é entender o que ele faz.


Domínio: e-commerce

def calc(p, b):
return p * b + 10
peso = 5
base = 3
print(calc(peso, base))

Domínio: banco

def rodar(extrato):
t = 0
for i in range(len(extrato)):
if extrato[i] % 2 == 0:
t += extrato[i]
else:
t -= extrato[i]
return t / len(extrato)

Domínio: saúde

# Calcula a dose diária
def dose(n):
# valor inicial
x = 1
# laço de etapas
for i in range(n):
# duplica a dose
x *= 2
# devolve a dose
return x

Domínio: estoque

def op(q1, q2, tipo):
if tipo == 1:
return q1+q2
elif tipo == 2:
return q1-q2
elif tipo == 3:
return q1*q2
elif tipo == 4:
return q1/q2
a=10
b=5
t=3
print(op(a,b,t))

Domínio: logística

def classifica(dist):
if dist >= 0 and dist < 12:
return "Curta"
elif dist >= 12 and dist < 18:
return "Média"
elif dist >= 18 and dist < 60:
return "Longa"
elif dist >= 60:
return "Muito longa"
else:
return "Inválida"
print(classificar(25))

Domínio: escola

def fre_bim(n):
return n * n
def med_disc(b, a):
return b * a
def peso_at(b, a):
return (b * a) / 2

Domínio: vendas

def calc_comissao(pecas):
return pecas * 50 + (pecas * 50 * 0.1)
print(calc_comissao(40))

Domínio: streaming

def teste(n):
if n % 2 == 0:
return "liberado"
else:
return "restrito"
print(classifica(7))

Domínio: transporte

viagens = [3, 5, 2, 8, 1, 4]
tcarga = 0
for v in viagens:
if v % 2 == 0:
tcarga += v
print(tcarga)

Domínio: RH

def criar_funcionario(nome, idade, cargo, salario, email, telefone,
gestor, area, local, cidade, uf):
return f"{nome}, {idade} anos, {cargo}, {salario}."
+ f"Contato: {telefone}, {email}. Gestor: {gestor}, "
+ f"área {area} em {cidade}/{uf}."
print(criar_funcionario("João", 25, "Desenvolvedor", 8000,
"joao@email.com", "99999-9999", "Maria", "Tecnologia", "Matriz",
"São Paulo", "SP"))

Revise cada trecho e descreva, com suas próprias palavras:

  • O que o código faz?
  • Como funciona, passo a passo?
  • Quais os problemas de legibilidade ou manutenção que você identifica?

Na próxima etapa da aula, veremos versões refatoradas e discutiremos como códigos limpos facilitam a compreensão e a manutenção.