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.

01

Clareza no uso

Uma API é julgada no lugar em que é chamada, não só na declaração.

funções · nomes · contratos

02

Estado sob controle

Comece com valores imutáveis e torne cada mutação uma decisão visível.

let antes de mut

03

Falhas no tipo

Uma operação que pode falhar deve mostrar essa possibilidade no retorno.

Result<T, E>

04

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.

conta.aru
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.