effectiveness
Boas práticas que ajudam o código a continuar claro.
Effectiveness é o guia de decisões da Arandu: como nomear, modelar estado, tratar falhas e usar o compilador para avançar com menos surpresa.
a regra geral
Faça a decisão aparecer no código.
As melhores convenções reduzem a dúvida de quem lê, chama e mantém a API.
Clareza no uso
Uma API é julgada no lugar em que é chamada, não só na declaração.
funções · nomes · contratos
Estado sob controle
Comece com valores imutáveis e torne cada mutação uma decisão visível.
let antes de mut
Falhas no tipo
Uma operação que pode falhar deve mostrar essa possibilidade no retorno.
Result<T, E>
Memória com dono
Transfira posse quando a função assume responsabilidade; empreste quando só precisa acessar.
own e ref
decisões rápidas
Qual ferramenta usar?
Pergunte qual regra o tipo precisa comunicar antes de escolher uma construção.
um exemplo
Clareza no ponto de uso.
A função conta uma história completa: recebe uma referência, devolve um resultado e nomeia a regra de negócio.
module account
public struct Account {
balance: i64
}
public func decrease_balance(account: ref mut Account, amount: i64): Result<i64, Error> {
if amount > account.balance {
return Result.Err(.InsufficientBalance)
}
return Result.Ok(account.balance - amount)
}na prática
O compilador participa da revisão.
Escreva uma mudança pequena, rode arandu check, leia o diagnóstico e só então execute. O fluxo efetivo é curto: intenção, código, verificação, feedback.