Catalog · How the catalog works
hints-warnings
- ★ 1 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
HintsWarnings
Exemplo mínimo em Delphi/VCL mostrando como eliminar hints e warnings do compilador — e por que isso importa.
O problema
Um build "Compile successful" com dezenas de hints e warnings vira ruído: o dev para de ler a janela de mensagens, e o bug mora exatamente ali.
// Antes — [dcc32 Warning] W1036: Return value of function 'Desconto' might be undefined
function TfrmPrincipal.Desconto(pValor: Currency): Currency;
begin
if pValor > 100 then
Result := pValor * 0.9; // e se pValor <= 100? Result = lixo de pilha
end;Result não inicializado retorna lixo de pilha, passa em todos os testes felizes e explode em produção com um valor fora do if.
A correção
function TfrmPrincipal.Desconto(pValor: Currency): Currency;
begin
Result := pValor; // default antes do if
if pValor > 100 then
Result := pValor * 0.9;
end;Result inicializado antes do if elimina o W1036 e torna o comportamento explícito para todos os caminhos.
Estrutura
HintsWarnings.dpr— projeto principal (VCL Forms Application)uPrincipal.pas/uPrincipal.dfm— formulário com o exemplo (TfrmPrincipal.Desconto)
Como rodar
Abra HintsWarnings.dproj no Delphi/RAD Studio e compile (F9). O projeto compila sem nenhum hint ou warning.

