Exercício 01 - Código Sujo
Como fazer
Seção intitulada “Como fazer”Você encontrará trechos de código escritos de forma propositalmente suja ou pouco clara.
Para cada exemplo, responda:
- Qual é o propósito geral do código?
- Como ele funciona, passo a passo?
- 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.
Código 01
Seção intitulada “Código 01”Domínio: e-commerce
def calc(p, b): return p * b + 10peso = 5base = 3print(calc(peso, base))Código 02
Seção intitulada “Código 02”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)Código 03
Seção intitulada “Código 03”Domínio: saúde
# Calcula a dose diáriadef dose(n): # valor inicial x = 1 # laço de etapas for i in range(n): # duplica a dose x *= 2 # devolve a dose return xCódigo 04
Seção intitulada “Código 04”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/q2a=10b=5t=3print(op(a,b,t))Código 05
Seção intitulada “Código 05”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))Código 06
Seção intitulada “Código 06”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) / 2Código 07
Seção intitulada “Código 07”Domínio: vendas
def calc_comissao(pecas): return pecas * 50 + (pecas * 50 * 0.1)
print(calc_comissao(40))Código 08
Seção intitulada “Código 08”Domínio: streaming
def teste(n): if n % 2 == 0: return "liberado" else: return "restrito"
print(classifica(7))Código 09
Seção intitulada “Código 09”Domínio: transporte
viagens = [3, 5, 2, 8, 1, 4]tcarga = 0for v in viagens: if v % 2 == 0: tcarga += vprint(tcarga)Código 10
Seção intitulada “Código 10”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"))Agora é com você
Seção intitulada “Agora é com você”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.