Blogue do Caloni - Se não está funcionando direito, mexa!
De uma semana pra cá, agora o chuveiro tem "aprontado" outra: ele desliga. Do nada. Não há nada de errado com a resistência, nem com os fios, e depois descobri, nem com a energia (não tinha um testador de tensão antes). Aliás, de vez em quando, ele liga de novo. Quando fui reclamar com o zelador, minutos atrás tentando fazê-lo ligar, adivinha quem ficou com cara de bobo demonstrando como o chuveiro estava funcionando perfeitamente?
No entanto, ele me deu uma "dica": é o disjuntor. Pensei comigo mesmo: "agora os choques fazem sentido; ele desligar (e ligar) do nada faz sentido; a vida faz sentido!".
É nessa entrada que se conecta um pino de onde vem a energia da central. Do lado deste pino havia um fio, como quem não quer nada, "passeando" bem próximo do pino. Notei também que havia outro do lado, no disjuntor do microondas.
Depois de algumas horas sofrendo em tentar entender a lógica por trás das conexões -- pois obviamente eu troquei o disjuntor e nada mudou -- descobri que o parafuso que faz o aperto do pino de energia no disjuntor original estava meio frouxo, e às vezes ele não empurrava a barra usada para fixar o pino, ficando o pino frouxo. Imediatamente (tipo duas horas depois, já escurecendo e eu sem energia a não ser a luz do notebook sem internet) deduzo que quando o eletricista foi fazer a instalação, ou na última manutenção feita, esse fio desencapado muito próximo do pino de tensão deve ter ficado de fora da conexão do disjuntor, mas próximo o suficiente para coseguir uma conexão eventual. Muito provavelmente este fio é o terra, e a falta dele deve ter originado os choques eventuais, além de agora, por algum desarranjo na posição capenga em que estava, ele começou a se separar do pino/disjuntor e gerar todo esse rebuliço.
Na maioria dos casos, certo. Porém, todo software tem bugs. E quando mexemos em código dos outros, em toda nossa humildade, nunca esperamos que haja um problema grave no comportamento principal do programa (ex: o Excel não fazer um cálculo direito). Talvez pela falsa impressão que o simples passar do tempo já valida qualquer possível bug escondido (se esquecendo da história do BSD e seu bug de 25 anos). Ledo engano. É aí que o bug fica difícil de ser corrigido, pois não há mais programadores desconfiadinhos do lado do código, e a nova leva sabe que ele está rodando faz tempo, então mais respeito...
A mensagem é clara. Antes de tirar qualquer conclusão precipitada a respeito da suposta qualidade do código que irá mexer (mesmo que esse software rode em milhões de máquinas por milhões de anos), faça um check-list de que tudo o que está vendo faz realmente sentido. Se não fizer, dobre sua atenção e valide suas premissas. Se ainda assim não fizer sentido, talvez seja hora de fazer alguma coisa. Do contrário, esse código corre o sério risco de ter aqueles comentários "não mexa aqui ou para de funcionar", e ninguém mais sabe por quê.