;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Coisa de Meninos Nada

Carros seminovos: como avaliar problemas na pintura na hora da compra

Colunista do UOL

17/11/2020 04h00

Há um monte de coisas para analisar em um carro usado antes de comprá-lo. E uma delas é o estado da pintura, tema da coluna dessa semana.

A PPG mandou algumas dicas para entendermos melhor pelo que procurar. A primeira é ver se o carro tem manchas na pintura e se é possível notar diferenças na tonalidade da cor. Esses são sintomas clássicos de reparações mal feitas e, às vezes, é possível ver emendas de retoques bem grosseiros.

O verniz também pode denunciar os maus tratos do dono anterior, expondo o carro às intempéries ou lavando com produtos químicos agressivos. Nesse caso notamos a famosa pintura queimada, que é o verniz desgastado que perdeu sua camada de proteção sólida.

E, claro, procurar por riscos e amassados com bastante cuidado, porque podem ser pequenos. Por isso é importante avaliar o carro durante o dia, com a luz natural.

É importante notar que, dificilmente, uma pintura feita na reparação vai ficar idêntica à original, já que os processos empregados são diferentes. Aquele efeito de "casca de laranja" pode ser alcançado, mas depende bastante dos produtos utilizados e da perícia do reparador.

Aliás, a qualidade do profissional também vai influenciar na durabilidade da repintura. É preciso ter o cuidado de tratar o local da reparação com produtos e processos adequados para retardar a corrosão, que pode facilmente se estender pelo resto do carro se a parte recuperada for mal feita.

Comprar carro que morou na praia também é sempre um problema. A maresia é implacável e faz com que a pintura sofra desgastes mais graves ao longo do tempo. Lavar o carro com mais frequência e mantê-lo abrigado em uma garagem ajudam a proteger a pintura, mas ela ainda vai sofrer mais que um carro que roda longe do litoral.

Na hora de avaliar a pintura o importante mesmo é o olho clínico e bastante paciência para ficar procurando os defeitos. Lembro que a reparação pode ser em decorrência de um arranhãozinho de nada ou de um acidente grande que deixa outras sequelas no carro, além de uma cor diferente.

Deixa aqui seu comentário sobre suas experiências com reparações de pinturas e aquele truquezinho para ajudar na hora da avaliação, como um imã que identifica massa na lataria.