Imagine que voce tem um sistema de contas a pagar/receber ou qualquer outra coisa onde se tenha
1)uma tabela com uma coluna “Modo de Pagamento” com um código para o meio usado para realizar o pagamento
2) uma tabela “Modos de Pagamento” com as colunas Id, Sigla e Descrição como abaixo:
Id | Sigla | Descricao
1 | CC | Cartão de Credito
2 | DN | Dinheiro
3 | CH | Cheque
4 | BO | Barras de Ouro
Imaginemos que num determinado ponto do sistema, é preciso tomar uma decisão baseada no módo de pagamento. Essa decisão teria o if() abaixo:
if(cliente.getModoPgto() == 1)
// decisão A
else if(cliente.getModoPgto() == 2)
// decisao B
else if(cliente.getModoPgto() == 3)
// decisao C
Agora vem minha dúvida:
Os ‘puristas’ dizem que não se deve chumbar ids no código, porque se um dia o id mudar, será necessário uma manutenção no código. Outros ‘puristas’ me disseram que código não se muda, se houver necessidade, que se mude a descrição ou crie outro registro na base.
Bom buscar por sigla não acho uma boa, pq a sigla tb pode mudar. Alias considero mais fácil alterar-se uma sigla que um código.
Buscar por descrição, nem pensar. Um engano, trocando-se ‘C’ por ‘Ç’ já ferra tudo, sem contar que operações de String são as coisas mais lentas que existem em qualquer linguagem.
O que se fazer? Chumba-se o codigo e assume-se o risco de uma futura manutenção? Adivinhação?
Penso que isso está muito relacionado à politica de desenvolvimento/manutenção de uma empresa ou mesmo relacionado coma maluquice do chefe do setor de desenvolvimento.
E ai, como é na empresa que voces trabalham?