Junior
O que, na tua opinião, significa escrever código de qualidade?
sobes.tech IA
Resposta da IA
Limpeza, legibilidade, manutenção, escalabilidade e conformidade com os requisitos.
Aspectos principais:
-
Limpeza e legibilidade:
- Uso de nomes compreensíveis e descritivos para variáveis, funções e classes.
- Cumprimento de um guia de estilo de codificação unificado.
- Formatação adequada do código (indentação, espaços).
- Eliminação de duplicações de código (DRY - Don't Repeat Yourself).
- Comentários claros em partes não evidentes do código.
-
Manutenção:
- Facilidade de fazer alterações e corrigir erros.
- Modularidade: divisão de funcionalidades em blocos pequenos e independentes.
- Baixo acoplamento e alta coesão.
- Inclusão de testes automatizados (unitários, de integração, de ponta a ponta).
-
Escalabilidade:
- Capacidade do sistema de lidar com um volume crescente de dados ou carga sem deterioração significativa do desempenho.
- Uso eficiente de recursos.
-
Conformidade com os requisitos:
- O código implementa corretamente a lógica de negócio e os requisitos funcionais.
- Ausência de bugs críticos e vulnerabilidades.
Exemplo de estrutura de um teste de qualidade em Python:
# filename: test_user_creation.py
import pytest
from my_application.models import User
from my_application.services import create_user
def test_user_creation_successful():
# Caso de teste para criação bem-sucedida de usuário
username = "test_user"
email = "test@example.com"
# Ação: Criar um usuário
new_user = create_user(username, email)
# Aserção 1: Verificar se o objeto usuário foi criado
assert isinstance(new_user, User)
# Aserção 2: Verificar se o nome de usuário está correto
assert new_user.username == username
# Aserção 3: Verificar se o email está correto
assert new_user.email == email
def test_user_creation_duplicate_username():
# Caso de teste para falha ao usar nome de usuário duplicado
username = "existing_user"
email = "another@example.com"
# Pré-condição: Criar um usuário existente
create_user(username, "existing@example.com")
# Ação & Aserção: Tentar criar usuário com nome de usuário duplicado e esperar exceção
with pytest.raises(ValueError, match="Username already exists"):
create_user(username, email)
# ... outros casos de teste ...